문서화를 통해 해당 정보를 넣기 위해서 코드를 다음과 같이 작성하였다.
URI location = UriComponentsBuilder
.newInstance()
.path(TODO_DEFAILT_URL + "{id}")
.buildAndExpand(createdToDo.getId())
.toUri();
return ResponseEntity.created(location).build();
하지만 코드를 이코드는 responseBody가 없어 다른 절차 없이 내가 입력한 내용이 무엇인지 다시 확인하지 못한다.
responseBody가 있는 메서드는 다음과 같이 작성이 되어있다.
ToDo toDo = toDoService.updateToDo(mapper.toDoPatchToToDo(requestBody));
return new ResponseEntity<>(mapper.toDoToToDoResponse(toDo), HttpStatus.OK);
이를 토대로 다음과 같이 작성하였으나 빨간줄...
return new ResponseEntity<>(mapper.toDoToToDoResponse(createdToDo), ResponseEntity.created(location).build(), HttpStatus.CREATED);
이러한 경우에는 코드를 다음과 같이 작성하면 된다.
return ResponseEntity.status(HttpStatus.CREATED).location(location).body(mapper.toDoToToDoResponse(createdToDo));
그렇게 되면 내가 입력한 내용도 바로 확인할 수 있고
테스트도 통과 되어 문서에도 적용 할 수 있다.
'복습 > 개발 일지' 카테고리의 다른 글
헤더에 Authorization 추가 (0) | 2023.04.23 |
---|---|
크롤링해서 얻은 csv파일을 DB에 입력하기 (0) | 2023.04.16 |
Path parameters with the following names were not found in the request (0) | 2023.04.07 |
"Unauthorized" (0) | 2023.03.22 |
하나의 메서드에 두 개의@RequestBody 넣기 (0) | 2023.03.05 |