SPRING/스프링 MVC
HTTP 메시지 컨버터 : 개요
JUMP개발자
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"));
}
}