inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

간단한 주문 조회 V4: JPA에서 DTO로 바로 조회

REST API에 대한 질문이 있습니다

598

한창훈

작성한 질문수 20

7

안녕하세요?

아직까지는 예제에서 데이터를 직접 리턴해주는 방식으로 하고있는데요,

여기서 로이 필딩이 말하는 Restful의 조건을 만족하려면 Self-Descriptive Messages와 HATEOAS를 만족해야 한다고 하는데 이 조건을들 만족하려면 결국 HttpEntity를 사용하여야 하는걸까요?

RestTemplate로 작성된 코드를 보고 영한님의 HTTP 강의도 듣고나니 머릿속에서 퍼즐이 맞춰지는 느낌은 드는데 이게 맞는거다 라는 확신은 없어서 제가 제대로 이해하면서 진행하고 있는건지 궁금하여 질문드립니다.

그리고 강의 만족도가 매우 높습니다 ^^

항상 감사하게 수강하고있습니다. 

이대로 QueryDSL까지 열심히 달려서 실무에서 빨리 적용해보고 싶네요 ㅎㅎㅎ

spring java JPA spring-boot

답변 1

4

김영한

안녕하세요. 창훈님

로이 필딩이 말하는 Restful 중에서 Self-Descriptive Messages와 HATEOAS는 매우 좋은 개념입니다. 특히 HTML을 활용한 웹 처럼 매우 오랜 기간에 걸쳐서 진화하는 웹을 위해서는 매우 중요한 개념입니다.

하지만 로이 필딩이 말하는 Restful을 모두 지키면서 실무에서 개발하는 경우는 거의 없습니다. 저는 실무에서 Restful을 모두 지키는 경우를 아직 한번도 본적이 없습니다.

사실 이것은 좋은 아이디어이고 업무 영역에 따라서 물론 잘 맞는 부분도 있겠지만, 일반 기업에서 사용하는 API에 적용하기에는 복잡도가 매우 증가하고, 그 효용성이 떨어집니다. 그래서 대부분 별도의 API 스펙 문서를 제공하고, 그 문서를 보면서 개발합니다.

HttpEntity를 사용한다는 것은 header 부분과 http status를 원하는데로 조정할 수 있는 기능이 추가된 것이지 이것을 사용한다고 해서 해당 조건들을 모두 만족하는 것은 아닙니다. 그리고 꼭 그렇게 할 필요도 없습니다.

추가로 다음 글을 보시면 더 도움이 되실거에요^^

https://www.inflearn.com/questions/126743

감사합니다.

강의 관련 외 질문입니다.

0

64

2

SpringBoot4 + Hibernate7 모듈 등록 방법 공유

0

85

1

BeanCreationException

0

86

3

Update 후 UpdateMemberResponse 매핑할 때

0

46

1

트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?

0

96

2

페이징 + 검색조건 관련해서 질문드립니다.

0

70

1

Query Dsl Q파일 질문입니다.

0

81

1

루트 쿼리라는것은

0

58

1

메서드를 분리하는 기준

0

61

1

findAllWithMemberDelivery 메서드 질문드립니다.

0

108

3

연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략

0

83

2

fetch join과 영속화와 OSIV의 관계

0

83

2

Distinct 사용 전 결과에 대한 의문

0

112

2

레포지토리 계층에서의 트랜잭션에 대한 의문

0

55

1

영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.

0

77

2

dto 필드 속 엔티티 여부

0

58

1

뷰템플릿 사용 시

0

76

2

Result 클래스 관련 질문

0

56

1

@PostConstruct 프록시 관련 질문드립니다

0

85

1

DTO 대신 Form 사용은 안되나요?

0

133

1

OSIV ON 상태일 때

0

94

1

fetch join VS fetch join 페이징 궁금증

0

179

2

양방향 연관관계 알아보는 법?

0

104

1

16강 17강 간단 정리 이게 맞을까요 ?

0

165

2