강의

멘토링

로드맵

Inflearn Community Q&A

beans9's profile image
beans9

asked

Spring-based REST API development

Applying Spring HATEOAS

<참고> hateoas가 1.0.2 가 되면서 바뀐부분이 있네요..

Written on

·

620

34

  • ResourceSupport is now RepresentationModel

  • Resource is now EntityModel

  • Resources is now CollectionModel

  • PagedResources is now PagedModel

위와같이 변경되었고, 12분쯤에 나오는 Resource<Event> 초기화되는 부분이 없어진거 같습니다. 혹시 뒤늦게 보시는 분들 hateos 버전을 맞추던가, 아래 사이트 참고하세요. 

https://docs.spring.io/spring-hateoas/docs/1.0.1.RELEASE/reference/html/

rest-apispringjava

Quiz

41% of people got it wrong. Give it a try!

REST 아키텍처 스타일에서 HATEOAS(Hypermedia as the Engine of Application State)가 중요한 주된 이유는 무엇일까요?

API 서버의 응답 처리 속도를 높이기 위해서입니다.

클라이언트가 하이퍼미디어를 통해 애플리케이션의 상태 전이를 동적으로 탐색할 수 있도록 지원하기 위해서입니다.

데이터 전송 시 네트워크 대역폭 사용량을 줄이기 위해서입니다.

API 엔드포인트 URL 구조를 미리 고정시키기 위해서입니다.

Answer 6

5

whiteship님의 프로필 이미지
whiteship
Instructor

감사합니다. 업데이트 영상을 만들어야 겠네요.

4

이렇게 해도 되내요... 기존 생성자가 deprecate되면서.. 사용하기 뭐해서 ㅎㅎ

EntityModel<Event> eventEntityModel = EntityModel.of(event,
selfLinkBuilder.slash(event.getId()).withSelfRel(),
selfLinkBuilder.withRel("query-events"),
selfLinkBuilder.withRel("update-event")
);
return ResponseEntity.created(createUri).body(eventEntityModel);

감사합니다~ 이렇게 하면 딱히 클래스를 따로 만들지 않아도 되네요 ㅎㅎ

2

현재 기준 hateoas 1.3.3인데 ControllerLinkBuilder가  WebMvcLinkBuilder로 변경되었습니다.

https://docs.spring.io/spring-hateoas/docs/1.3.3/reference/html/#server.link-builder.webmvc

참고하시면 좋을 것 같습니다.

2

안녕하세요. 방금 강의를 다 들었는데요. 혹시 필요하신 분들이 있을까봐 hateoas 관련 바뀐 부분들 적용한 소스를 공유 드립니다.  저는 maven대신 gradle을 사용하였고 spring-boot 2.2.1 버전을 사용했습니다. 바뀐 부분들 관련해서는 포스팅을 하려다가 위에 링크주신 문서에 잘 나와 있길래 소스만 공유드립니다.  혹시 잘못 사용한 부분들이 있다면 알려주시면 감사하겠습니다. 

https://github.com/bingbingpa/spring-rest-api

0

감사합니다!

0

beans9 님 도움주셔 감사합니다 !

beans9's profile image
beans9

asked

Ask a question