Spring MVC 핸들러 메소드 @RequestBody & HttpEntity
Spring Web MVC
백기선님의 강의인 Spring Web MVC 강의를 듣고 공부한 내용을 정리한 글
@RequestBody
요청 본문(body)에 들어있는 데이터를 HttpMessageConverter를 통해 변환한 객체로 받아올 수 있다.
@Valid 또는 @Validated를 사용해서 값을 검증할 수 있다.
BindingResult를 Argument로 추가해서 코드 상에서 바인딩 에러를 잡아내거나 원하는 처리를 할 수 있다.
HttpMessageConverter
스프링 MVC 설정 (WebMvcConfigurer)에서 설정할 수 있다.
configureMessageConverter: 기본 메시지 컨버터 대체
extendMessageConverters: 메시지 컨버터에 추가
기본 컨버터
- WebMvcConfigurationSupport.addDefaultHttpMessageConverters
이렇게 등록된 HttpMessageConverter는 HandlerAdapter
가 사용한다.
HandlerAdapter
가 Method Argument를 Resolving할 때 적절한 HttpMessageConverter를 사용한다.
HttpEntity
@RequestBody와 비슷하지만 추가적으로 헤더 정보를 사용할 수 있다.
Reference
인프런 백기선님의 스프링 Web MVC