본문 바로가기

spring40

@ModelAttribute와@RequestParam | @ModelAttribute 이란? 클라이언트가 전송하는 여러개의 파라미터들을 1:1로 객체에 바인딩 하여 다시 View로 넘겨서 출력하기 위해 사용되는 Object입니다. 매핑시키는 파라미터의 타입이 객체의 type과 일치하는지를 포함한 다양한 검증(Validation) 작업이 추가적으로 진행됩니다. ( 예를들어, 게시물 번호를 저장하는 int형 index 변수에 "1"이라는 String 값을 넣으면 BindException 발생 ) @RequestBody의 경우 Json이나 XML을 Jackson과 같은 MessageConverter를 사용하면 변환하지만, 이 어노테이션은 여러 개의 파라미터를 바로 java bean 객체로 mapping 시킵니다. 즉, JSP에서 form 태그를 통하여 전달받은 .. 2020. 7. 26.
@RequestBody,@ResponseBody Spring에서 API구현 시 주로 사용되는 @RequestBody, @ResponseBody ,@ModelAttribute어노테이션의 개념에 대해 확실하게 알고 넘어가보자. ex) Web Page에서 json으로 request한 파라미터들을 java에서 받으려면 java Object type으로 변환이 필요하다. 마찬가지로 response시에도 java object에서 json으로 변환이 필요로하다. web에서 받은 data는 java에서 사용 시 : web -> (javaObject로 변환 ) - > java에서 활용 java에서 web으로 data 보낼 시 : java -> ( json Object로 변환) -> web 이러한 작업들을 해주는 어노테이션이 바로 @RequestBody와 @Respon.. 2020. 7. 25.
메시지 컨버터란? 메시지 컨버터는 XML이나 JSON을 이용한 AJAX 기능이나 Web Service를 개발할 때 사용할 수 있습니다.HTTP요청 프로터피를 모델 오브젝트의 프로터피에 개별적으로 바인딩 하고 모델 오브젝트를 다시 뷰를 이용해 클라이언트로 보낼 콘텐츠를 만드는 대신 HTTP요청에 메시지 본문과 HTTP 응답 메시지 본문을 통째로 메시지로 다루는 방식입니다.  예매하러 가기 오늘 보지않기 .. 2020. 7. 25.
커맨드 객체란? 지난번에 @RequestParam으로 값을 많이 바인딩 시키면 코드가 지저분해지는 경우가 있을텐데 이번에는 커맨드객체를 활용하여 코드 가독성을 조금 더 높여보도록한다 ! 웹 프로젝트 개발 시 "인쇄하기"라는 기능이 있어서 다른 view.jsp 에서 값을 컨트롤러를 타야 하는 경우가 있었는데 이럴때 model에 값을 엄청 많이 binding 시켜줬던 기억이있다. 이제는 Command 객체를 활용하여 이러한 경우를 대비해 볼 것이다. ! 회사에서 작성했던 코드 @GetMapping("/print") public void testMethod(@Request Param . . . (수만은 RequestParam이 적히고) ){ model.addattrubute("사용할 data들 ", ... ); model.a.. 2020. 7. 25.
@RequestParam과 @PathVariable? 컨트롤라에서 Requestparam으로 파라미터 값을 넘겨받을 때 아무 생각 없이 사용하곤 했는데, 이번 기회에 이 어노테이션에 대해 정리해 보고자 한다. 스프링에서는 컨트롤러로 사용할 클래스 상단에 @Controller를 지정합니다. 주로 사용하는 형태의 파라메터를 전달하는 경우입니다. Case 1 ) http://xxx.x.x?index=1&page=2 Case 2 ) http://xxxx.x.x/index/1 Case 1의 경우 파라미터의 값과 이름을 함께 전달하는 방식으로 게시판 등에서 페이지 및 검색 정보를 함께 전달하는 방식을 사용할 때 많이 사용합니다. Case 2의 경우 Rest api에서 값을 호출할 때 주로 많이 사용합니다. Spring에서는 이러한 전달인자를 처리하는데 두 가지 방법을.. 2020. 7. 25.
[Spring]ResponseEntity ResponseEntity를 배우기 전에 먼저 Controller와 RestController의 차이점을 알고 가보겠습니다. | Spring MVC Controller와 Restful Web Service Controller의 차이점 -가장 큰 차이점은 HTTP Response Body가 생성되는 방식입니다. | 기존 MVC Controller view 기술을 사용 주로 view(화면)을 return 합니다. | Restful 웹 서비스 Controller 객체를 반환하기만 하면 객체 데이터는 JSON/XML 형식의 HTTP 응답을 직접 작성합니다. Data를 return하는 것이 주 용도입니다. 대표적인 Controller 입니다. import org.springframework.stereotype.C.. 2020. 3. 11.