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 (語言數: 1)
平台
許可證Apache License 2.0
所有者活动
創建於2012-03-08 21:55:39
推送於2025-04-22 12:32:09
最后一次提交2021-04-13 08:45:54
發布數328
最新版本名稱5.0.0-M2 (發布於 2025-04-22 14:31:46)
第一版名稱1.0.0.M1 (發布於 )
用户参与
星數0.9k
關注者數115
派生數560
提交數1.8k
已啟用問題?
問題數2133
打開的問題數757
拉請求數67
打開的拉請求數42
關閉的拉請求數222
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?