Spring Rest API - HTTP Status Code 다루기

목차

Spring Boot Rest API - HTTP Status Code 다루기

201(Created) 코드 반환하기

사용자가 요청으로 새로운 User가 생성됨을 확인하기 위해 201(Created) 코드를 반환한다.

@PostMapping("/users")
public ResponseEntity<User> createUser(@RequestBody @Valid User user){
User savedUser = service.save(user);

URI location = ServletUriComponentsBuilder.fromCurrentRequest()
.path("/{id}")
.buildAndExpand(savedUser.getId())
.toUri();

return ResponseEntity.created(location).build();
}

201(Created) 코드를 확인하기 위한 Test Code 작성

@Test
public void 유저를_등록하고_상태코드_201을_확인한다() throws Exception {
User user = new User();
String name = "dongwoo";
Date date = new Date();

user.setName(name);
user.setJoinDate(date);
String content = objectMapper.writeValueAsString(user);

ResultActions resultActions = mockMvc.perform(post("/users")
.content(content)
.contentType(MediaType.APPLICATION_JSON));

resultActions
.andExpect(status().isCreated())
.andDo(print());
}
Share