-
HTTP 메세지 컨버터와 StringSpring/Spring MVC 2020. 5. 28. 00:02
- @RequestBody를 통해 요청 본문에 있는 메시지를 읽어 들이거나
- @ResponseBody 나 @RestController를 통해 응답 본문에 메시지를 작성할 때
- HTTP 메세지 컨버터를 통해 컨버전하게 된다
여러 가지 기본 Http message converter
- 바이트 배열 컨버터
- 문자열 컨버터
- Resource 컨버터
- From 컨버터 : Html에서 보내는 Form데이터를 Map으로 변환 ( or Map -> Form )
스프링 부트 역시 기본 HTTP message Converter를 사용한다.
- 요청 본문에 있는 문자열을 그대로 문자열에 받거나
- 핸들러에서 리턴하는 문자열을 그대로 응답 메시지에 쓰는 것이 가능하다.
- 특정 classpath에 class가 있는 경우에만 등록이 되는 게 HTTP
- 테스트 수행 시 본문에 hello 가 담긴다.
- 이제 @RequestBody를 통해 해당 요청 본문이 String body에 담긴다.
- return body이고 @RestController 이기 때문에 응답 요청 본문에 "hello"가 담기게 된다.
- 이 메시지 컨버터들은 여러 개 등록이 돼있는데 원래 판단하는 방법은
- 리퀘스트에 Context-Type 헤더 값을 보고 판단하게 된다.
- 추가적으로 HTTP 메시지를 설정하고 싶다면 2가지 방법이 있다.
- configureMessageConverters 사용해서 추가하면 기본 컨버터를 사용할 수 없게 된다.
- 추가만 하고 싶다면 extendMessageConverters를 쓰면 된다.
- 혹은 의존성 추가로 컨버터를 추가하기 때문에 구현할 일은 많지 않다.
'Spring > Spring MVC' 카테고리의 다른 글
WebMvcConfigurer 살펴보기 (0) 2020.05.31 Json 컨버터 (0) 2020.05.28 리소스 핸들러 (0) 2020.05.02 핸들러 인터셉터 (0) 2020.04.28 Spring MVC Formatter 사용법 (0) 2020.04.21