![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bVxOGe/btqxbdnoNTc/2D1KeDCehWslSIKUf7KPf0/img.png)
Spring - @ExceptionHandler 특정예외가 발생한 요청을 처리하고 싶은경우 사용한다. @ExceptionHandler Spring 3.0 부터 지원 RESTAPI의 경우 응답본문에 에러에 대한 정보를 담아주고, 상태코드를 설정하려면 ResponseEntity를 주로 사용한다. @ModelAttribute를 지원하지 않는다. 가장 구체적인 Exception을 Handling 하는 ExceptionHandler가 처리한다. [https://docs.spring.io/spring/docs/5.1.8.RELEASE/spring-framework-reference/web.html#mvc-ann-exceptionhandler] Web on Servlet Stack Spring Web MVC is t..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/QI9B9/btqxbB2EbHr/btGaKArBk0FkKkwpwiFGj1/img.png)
Spring - DataBinder: @InitBinder Data를 바인딩할때 사용되는 DATABinder를 커스터마이징이 가능하다. @InitBinder Spring 2.5 부터 지원 @InitBinder(키) 특정 컨트롤러에서 바인딩 혹은 검증 설정을 커스터마이징할때 사용한다. 리턴값은 반드시 void 여야한다. Method LEVEL에 선언한다. WebDataBinder 객체를 Argument로 받아 커스터마이징을 할수 있다. Binding 관련 설정 setDisallowedFields("필드명"); 바인딩을 받고싶지 않은 필드를 설정 Formatter 관련 설정 webDataBinder.addCustomFormatter(): Spring이 지원하지않는 Formatter를 등록 @DateTimeF..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/nKHcA/btqw87amdnm/Gop2rEm6mzMksRUwPzSGHk/img.png)
Spring - @ModelAttribute의 다른 사용법 @ModelAttribute Spring 2.5 부터 지원 @RequestMapping을 사용한 Handler Method Argument에 사용 @Controller or @ControllerAdvice를 사용한 클래스에서 Model 정보를 초기화할때 사용한다. 공통적으로 참조해야하는 정보가 있는경우 @RequestMapping과 함께 사용하면 해당 Method에서 Return하는 객체를 Model에 담아준다. RequestToViewNameTranslator 를 사용 요청으로부터 ViewName을 유추하여 View를 Return해준다. Handler Method에서 공통적으로 참조하는 Model 정보를 만드는 2가지방법 model객체에 직접 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/9GkOw/btqw8BvA2rj/jVulwrWqfACa1aiJDLKKqK/img.png)
Spring - @ResponseBody & ResponseEntity @ResponseBody Method LEVEL 에 사용한다. 해당 Method의 리턴 값을 HttpMessageConverter를 사용하여 응답본문으로 보낸다. accpt-header 정보를 참조하여 적절한 MessageConverter를 사용한다. JSON 이라면 Jackson2HttpMessageConverter... @RestController 를 사용할경우, 모든 Method에 @ResponseBody가 있는것과 동일하기 때문에 생략이 가능하다. FileUpload에서 살펴보았던 Handler Method multipart/form-data 로 파일업로드 요청시 해당 file의 이름을 응답 본문으로 보내주는 Handler R..