ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP 메시지 컨버터 : 개요
    SPRING/스프링 MVC 2021. 6. 18. 11:09

    HTTP 메시지 컨버터 

    - 요청 본문에서 메시지를 읽어들이거나(@RequestBody), 응답 본문에 메시지를 작성할 때(@ResponseBody) 사용한다. 

     

    @RestController
    public class SampleController {
    
        @GetMapping("/message")
        public String message(@RequestBody String body) {
            return body;
        }
    }
    

     

    기본 HTTP 메시지 컨버터

     

    - 바이트 배열 컨버터 

    - 문자열 컨버터 

    - Resource 컨버터 

    - Form 컨버터 (폼 데이터 to/from MultiValueMap<String, String>) 

    - (JAXB2 컨버터) 

    - (Jackson2 컨버터) 

    - (Jackson 컨버터) 

    - (Gson 컨버터) 

    - (Atom 컨버터) 

    - (RSS 컨버터) 

     

    컨버터 설정 방식

    - 기본으로 등록해주는 컨버터에 새로운 컨버터 추가하기: extendMessageConverters 

    - 기본으로 등록해주는 컨버터는 다 무시하고 새로 컨버터 설정하기: configureMessageConverters

    - 의존성 추가로 컨버터 등록하기 (대부분 이방식이고, 스프링MVC/스프링부트 공통적으로 사용 가능)

     메이븐 또는 그래들 설정에 의존성을 추가하면 그에 따른 컨버터가 자동으로 등록 된다.                   WebMvcConfigurationSupport

     

     

    테스트

    @RunWith(SpringRunner.class)
    @SpringBootTest
    @AutoConfigureMockMvc
    public class SampleControllerTest {
    
        @Autowired
        MockMvc mockMvc;
        
        @Test
        public void stringMessage() throws Exception {
            this.mockMvc.perform(get("/message")
                    .content("hello"))
                    .andDo(print())
                    .andExpect(status().isOk())
                    .andExpect(content().string("hello"));
        }
    }
    

     

     

    'SPRING > 스프링 MVC' 카테고리의 다른 글

    HTTP 메시지 컨버터 : XML  (0) 2021.06.19
    HTTP 메시지 컨버터 : JSON  (0) 2021.06.18
    Resource Handler  (0) 2021.06.16
    HandlerInterceptor (서블릿 필터 비교)  (0) 2021.06.15
    Formatter 추가하기  (0) 2021.06.14
Designed by Tistory.