[spring] spring data rest
https://spring.io/projects/spring-data-rest
Spring Data REST
Commercial support Business support from Spring experts during the OSS timeline, plus extended support after OSS End-Of-Life. Publicly available releases for critical bugfixes and security issues when requested by customers.
spring.io
https://docs.spring.io/spring-data/rest/docs/current/reference/html/
Spring Data REST Reference Guide
Spring Data REST presents a default view of the domain model you export. However, sometimes, you may need to alter the view of that model for various reasons. This section covers how to define projections and excerpts to serve up simplified and reduced vie
docs.spring.io
Spring Data REST is part of the umbrella Spring Data project and makes it easy to build hypermedia-driven REST web services on top of Spring Data repositories.
스프링 데이터 레슽는 엄브렐라 스프링 데이터 프로젝트의 일부이고, 이것은 스프링 데이터 리포지토리 위에서 하이퍼미디어 주도 레스트 웹 서비스를 빌드하기 쉽게 만들어준다.
하이퍼미디어 주도 레스트 웹 서비스란?(hypermedia-driven rest webservice)
https://spring.io/guides/gs/rest-hateoas/
Spring Data REST builds on top of Spring Data repositories, analyzes your application’s domain model and exposes hypermedia-driven HTTP resources for aggregates contained in the model.
스프링 데이터 레스트는 스프링 데이터 리포지토리 위에서 빌드되고, 애플리케이션의 도메인 모델을 분석하며, 모델에 포함된 골격을 위한 하이퍼리포지토리 기반 HTTP리소스들을 노출한다.
Features
- Exposes a discoverable REST API for your domain model using HAL as media type.
- Exposes collection, item and association resources representing your model.
- Supports pagination via navigational links.
- Allows to dynamically filter collection resources.
- Exposes dedicated search resources for query methods defined in your repositories.
- Allows to hook into the handling of REST requests by handling Spring ApplicationEvents.
- Exposes metadata about the model discovered as ALPS and JSON Schema.
- Allows to define client specific representations through projections.
- Ships a customized variant of the HAL Explorer to leverage the exposed metadata.
- Currently supports JPA, MongoDB, Neo4j, Solr, Cassandra, Gemfire.
- Allows advanced customizations of the default resources exposed.
특징
- 도메인 모델을 위해 HAL이라는 미디어 타입을 사용한 REST API를 노출한다.
- 모델을 나타내는 콜렉션, 아이템 그리고 연관 리소스들을 노출한다.
- 탐색링크를 통한 페이징을 지원한다.
- 콜렉션 리소스들을 동적으로 필터링 할 수 있다.
- 리포지토리에 에 정의된 쿼리 메소드들에 대한 전용 검색 리소스를 노출한다.
- Spring ApplicationEvent를 처리하여 REST 요청 처리에 연결할 수 있다.
- ALPS 및 JSON 스키마로 발견된 모델에 대한 메타데이터를 노출한다.
- projections을 통해 클라이언트 특정 표현을 정의할 수 있다..
- 노출된 메타데이터를 활용하기 위해 HAL Explorer의 맞춤 변형을 제공한다.
- 현재 JPA, MongoDB, Neo4j, Solr, Cassandra, Gemfire를 지원한다.
- 노출된 기본 리소스의 더 발전된 맞춤설정을 허용한다..