인프런 커뮤니티 질문&답변

지현명님의 프로필 이미지
지현명

작성한 질문수

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

Richardson Maturity Model 소개

rest api 리턴값 중에 어느걸 많이 쓰나요?

작성

·

416

1

ResponseEntity 하고 EntityModel 두개 중에 요즘 실무에서 어떤걸 많이 쓰는지 알 수 있을까요?

답변 1

4

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

ResponseEntity는 HttpEntity를 상속받아 구현된 것으로, 사용자 요청(HttpRequest)에 대한 응답 데이터를 처리하기 위해서 사용되며, HttpStatus, HttpHeaders, HttpBody를 포함하고 있습니다.

EntityModel은 HATEOAS를 처리하기 위해 사용되며, 사용자 요청에 따른 반환값을 RESTful API의 Level3에 해당하는 HATEOAS 정보를 처리하는 데에 사용합니다. 

따라서, ResponseEntity와 EntityModel은 HATEOAS 기능의 사용 여부에 따라서 분리하면 좋을 것 같습니다. 과정의 내용처럼 View를 Spring Boot 애플리케이션에 포함시키지 않고, 별도의 언어나 환경에서 개발하고, 서버와의 통신은 RESTful API로 하는 추세에서는 RESTful API를 생성한테 있어, Level 3를 지향하는 것이 바람직하다고 생각됩니다. 그러나 사용자 요청에 따른 기본적인 CRUD 기능 만을 처리하는데 있어서, 굳이 HATEOAS까지 필요없다 생각되면, ResponseEntity만으로도 충분하지 않을까 싶습니다.

어디까지나 제 개인적인 의견입니다.

감사합니다. 

지현명님의 프로필 이미지
지현명
질문자

자세한 답변 감사합니다. 저는 아직 HATEOAS의 필요성을 인지하지 못해서 ResponseEntity를 사용해야 겠습니다. ㅎㅎ 다음강의에서 뵙겠습니다.

지현명님의 프로필 이미지
지현명

작성한 질문수

질문하기