ResponseEntity는 HttpEntity를 상속받는 클래스로 HttpStatus
, HttpHeaders
, HttpBody
를 포함한다.
Controller 응답 시에 Response를 직접 제어 할 수 있다는 장점이 있다.
ResponseEntity는 제네릭을 사용하여 바디 타입을 명시해 주어야 하는데 .. 타입을 명시하지 않고 사용하고 있었다 (intellij에서도 경고를 주고있다)
바디를 사용하지 않을 때에도 Object
타입으로 명시를 해 주는 것이 좋다고 한다.
또한 빌더패턴
으로도 제공하고 있기 때문에 유연성과 가독성 측면에서 생성자 보다는 필더 패턴을 사용하는 것이 이로울 것 같아 리팩토링을 진행하였다!
HttpStatus.OK
의 경우 응답메세지는 불필요 한 것 같아 없애 주었다.
ResponseEntity.created()
는 URI
를 파라미터로 받고있다..
이는 새롭게 생성된 리소스에 대한 접근 URI를 Location 헤더 값으로 포함시킴으로써 클라이언트 쪽에서 이 정보를 이용해 해당 리소스에 접근할 수 있도록 하기 위함인데
의도에 맞게 사용하는 것이 가장 좋긴 하겠지만.. 현재 프로젝트에서는 필요하지 않기 때문에
ResponseEntity.status(HttpStatus.CREATED)
로 대체 했는데 필요하다면 추후에 수정해야겠다