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
'Spring Boot' 카테고리의 다른 글
Spring 정적 리소스 맵핑 (0) | 2022.02.27 |
---|---|
ViewResolver (0) | 2022.02.27 |
Spring boot 단위 테스트 (0) | 2022.02.20 |
Spring boot 통합 Test (0) | 2022.02.20 |
Logging (0) | 2022.02.20 |
댓글