Spring HATEOAS versus Spring Data Rest
Question is, what's the difference between Spring HATEOAS versus Spring Data Rest ?
I feel both can do the same, and Spring Data Rest (as part of Spring Data) seems a bit more alive.
https://github.com/spring-projects/spring-hateoas https://github.com/spring-projects/spring-data-rest
When would you use one or the other?
Spring HATEOAS는 일반적인 추상화를 제공합니다(대표 모델, aLink
클래스, Spring MVC 컨트롤러를 가리키는 링크를 구축하기 위한 API 등)을 통해 일반적으로 Spring MVC로 하이퍼미디어 기반 REST API 구축을 용이하게 됩니다.따라서 Spring MVC와 함께 사용하여 이러한 서비스를 수동으로 구축할 수 있습니다.
Spring Data REST uses Spring HATEOAS to automatically expose resources for entities managed by Spring Data repositories and leverages hypermedia aspects to do pagination, link entities etc. So it covers the 80% use case for the basic stuff and allows you to selectively add more complex processes using manually implemented controllers later on.
이에 대한 느낌을 얻으려면 Spring RESTBucks 샘플 프로젝트를 자유롭게 살펴보시기 바랍니다.의 처리.Order
인스턴스는 완전히 Spring Data REST에 의해 수행됩니다(비즈니스 제약 사항을 구현하기 위해 약간의 수정이 필요함).그러면 전체 결제 로직은 CRUD 카테고리에 속하지 않으므로 주문을 완료하기 위해 실제로 특정 단계와 프로토콜을 구현해야 하기 때문에 수동으로 구현됩니다.다시 말하지만, 코드는 여기에 있습니다. 슬라이드 데크와 몇 가지 추가적인 비주얼은 speakerdeck.com 에서 확인할 수 있습니다.
HATEOAS stand for Hypermedia as the Engine of Application State and is one of the key ponit of REST. Basically the key point consist to use links on the your resource representation for map the valid transition of the application state. In this case will be the service provider that provide the valid next correct state of the your application reachable through the link. Spring HATEOAS is the Spring projects for help to build the Hymeridia Controls in your Resource. It is a project integrate with Spring MVC and you can think as the Spring MVC extension for building a real RESTFull WS whit a very good support for increase the level of the your service form CRUD (level 2 of maturity in the Richardson model) to an Hypermedia aware (level 3 of maturity in the Richardson model). Spring Data Rest on the other hands is a very nice project that use Spring HATEOAS as basic brick, for give you a repository layer usable as restfull ws. In proctis the project help to reduce the classical boliporlent code for expose the your repository layer as a restfull endpoint. We can say tat was the propouse of the projects very different. With Spring HATEOAS you had a framework usable for any kind of restfull endpoint, with spring data rest you had a spring project that already provide an endpoint and a framework for customize it.
이 성찰을 통해 두 프로젝트의 차이점을 명확히 하고 하나 또는 다른 프로젝트를 어떻게 사용하는지 더 잘 이해할 수 있기를 바랍니다.
저는 두 가지를 모두 제 프로젝트에 사용하기로 결정했습니다.Spring Data REST로 컨트롤러 한 계층이 구축되었습니다.다른 계층은 였습니다 @RestController's(spring-wevmvc)컨트롤러. 지정 (: 1 만들기이 Spring HATEOAS하여 Spring HATEOAS정를다는자는를다를는(1n:정이ir:sg(emgse는dosd'se .Pageable 만듭니다 을.Pageable pageable = new PageRequest
페이지 2.새지기기지wg새e2기wPage<FooDt> page = new PageImpl<FooDt>
3 리소스 만들기 3.페이지화된 리소스 생성PagedResources<Resource<FooDt>> resource = fooAssembler.toResource(page, fooAssembler)
잭슨의 ObjectMapper를 이용해서 json을 돌려주는 과정을 거쳤습니다.
두 가지 기술의 상황을 파악하기 위해 로드할 수 있는 솔루션은 두 개의 Dispatcher Servlet을 사용하는 것입니다.그렇지 않으면 Spring Data Rest가 통제를 하고 있고 다른 컨트롤러를 사용할 수 있는 옵션이 없습니다. (그런 식으로 앱에 두 개의 도메인이 있었습니다.하나는 데이터 휴식용, 하나는 webmvc+용HATEOS).
언급URL : https://stackoverflow.com/questions/19514131/spring-hateoas-versus-spring-data-rest
'programing' 카테고리의 다른 글
바닥글에 워드프레스 jquery (0) | 2023.09.12 |
---|---|
Swift에서 두 값 사이의 숫자를 "clamp"하는 표준 방법 (0) | 2023.09.12 |
MySQL 삽입(While Loop 포함) (0) | 2023.09.12 |
도커-허브를 사용하지 않고 도커-이미지를 공유하는 방법? (0) | 2023.09.12 |
다른 것이 가장 많이 이루어질 때 if-ellif-ellif-ellif-ellip 진술을 하는 가장 효율적인 방법은? (0) | 2023.09.12 |