ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP 메세지 컨버터와 String
    Spring/Spring MVC 2020. 5. 28. 00:02

     

     

     

    @RestController

     

    • @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 헤더 값을 보고 판단하게 된다.

     

     

    WebMvcConfigurer를 통해  설정 가능하다.

    • 추가적으로 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
Designed by Tistory.