Spring Data REST

简化在 Spring Data 资源库之上构建超媒体驱动的 REST 网络服务的过程。『Simplifies building hypermedia-driven REST web services on top of Spring Data repositories』

Github星跟踪图

The goal of the project is to provide a flexible and configurable
mechanism for writing simple services that can be exposed over HTTP.

This takes your Spring Data repositories and front-ends them with HTTP,
allowing you full CRUD capability over your entities, to include
managing associations.

Features

Code of Conduct

This project is governed by the Spring Code of
Conduct
.
By participating, you are expected to uphold this code of conduct.
Please report unacceptable behavior to
spring-code-of-conduct@pivotal.io.

Getting Started

Here is a quick teaser of an application using Spring Data REST in Java:

@CrossOrigin
@RepositoryRestResource(path = "people")
public interface PersonRepository extends CrudRepository<Person, Long> {

  List<Person> findByLastname(String lastname);

  @RestResource(path = "byFirstname")
  List<Person> findByFirstnameLike(String firstname);
}

@Configuration
@EnableMongoRepositories
class ApplicationConfig extends AbstractMongoConfiguration {

  @Override
  public MongoClient mongoClient() {
    return new MongoClient();
  }

  @Override
  protected String getDatabaseName() {
    return "springdata";
  }
}

curl -v "http://localhost:8080/people/search/byFirstname?firstname=Oliver*&sort=name,desc"

Maven configuration

Add the Maven dependency:

<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-rest</artifactId>
  <version>${version}.RELEASE</version>
</dependency>

If you’d rather like the latest snapshots of the upcoming major version,
use our Maven snapshot repository and declare the appropriate dependency
version.

<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-rest</artifactId>
  <version>${version}-SNAPSHOT</version>
</dependency>

<repository>
  <id>spring-snapshot</id>
  <name>Spring Snapshot Repository</name>
  <url>https://repo.spring.io/snapshot</url>
</repository>

Getting Help

Having trouble with Spring Data? We’d love to help!

Reporting Issues

Spring Data uses GitHub as issue tracking system to record bugs and
feature requests. If you want to raise an issue, please follow the
recommendations below:

  • Before you log a bug, please search the issue
    tracker

    to see if someone has already reported the problem.

  • If the issue doesn’t already exist, create a new
    issue
    .

  • Please provide as much information as possible with the issue
    report, we like to know the version of Spring Data that you are
    using and JVM version.

  • If you need to paste code, or include a stack trace use GitHub’s
    flavor of Markdown and wrap your code with triple-backquotes.

  • If possible try to create a test-case or project that replicates the
    issue. Attach a link to your code or a compressed file containing
    your code.

Building from Source

You don’t need to build from source to use Spring Data (binaries in
repo.spring.io), but if you want to try out
the latest and greatest, Spring Data can be easily built with the maven
wrapper
. You also need JDK 17.

 $ ./mvnw clean install

If you want to build with the regular mvn command, you will need
Maven v3.5.0 or above.

Also see CONTRIBUTING.adoc if you wish to submit
pull requests, and in particular please sign the Contributor’s
Agreement
before your first
non-trivial change.

Building reference documentation

Building the documentation builds also the project without running
tests.

 $ ./mvnw clean install -Pantora

The generated documentation is available from
target/site/reference/html/index.html.

Guides

The spring.io site contains several guides that
show how to use Spring Data step-by-step:

Examples

License

Spring Data REST is Open Source software released under the Apache 2.0
license
.

主要指标

概览
名称与所有者spring-projects/spring-data-rest
主编程语言Java
编程语言Java (语言数: 2)
平台
许可证Apache License 2.0
所有者活动
创建于2012-03-08 21:55:39
推送于2025-06-13 11:42:24
最后一次提交2021-04-13 08:45:54
发布数335
最新版本名称4.5.1 (发布于 2025-06-13 13:41:59)
第一版名称1.0.0.M1 (发布于 )
用户参与
星数0.9k
关注者数116
派生数566
提交数1.8k
已启用问题?
问题数2149
打开的问题数759
拉请求数67
打开的拉请求数45
关闭的拉请求数224
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?