Spring Boot
HttpMessageConverters
상국이
2022. 2. 20. 20:13
728x90
: http요청 본문을 객체로 변환하거나, 객체를 http응답 본문으로 변경할 때 사용
@ResponseBody : 해당 객체의 converter를 사용해서 응답 return
@RequestBody : 해당 객체의 converter를 사용해서 객체로 변환
@RestController
public class UserController {
@PostMapping("/userinfo")
public @ResponseBody User postUserInformation(@RequestBody User user){
return user;
}
}
* @ResponseBody은 @RestController를 사용하는 경우 생략 가능
Test 코드
@RunWith(SpringRunner.class)
@WebMvcTest(UserController.class)
public class UserControllerTest {
@Autowired
MockMvc mockMvc;
@Test
public void createUser_JSON() throws Exception {
String userJson = "{\"username\":\"sangguk\", \"password\":\"1234\"}";
mockMvc.perform(post("/users/create")
.contentType(MediaType.APPLICATION_JSON_UTF8)
.accept(MediaType.APPLICATION_JSON_UTF8)
.content(userJson))
.andExpect(status().isOk())
.andExpect(jsonPath("$.username", is(equalTo("sangguk")))) //org.hamcrest.Matchers;
.andExpect(jsonPath("$.password", is(equalTo("1234"))));
}
}728x90