Getting started
Spring Data REST 本身就是一个 Spring MVC 应用程序,并且设计得可以在你不用付出多少努力的情况下与你的现有 Spring MVC 应用程序集成。现有的(或未来的)服务层可以在 Spring Data REST 旁边运行,只需要少量额外的工作。
Adding Spring Data REST to a Spring Boot Project
开始使用的最简单方法是构建一个 Spring Boot 应用程序,因为 Spring Boot 有一个 Spring Data REST 的 starter 并使用自动配置。以下示例展示了如何使用 Gradle 在 Spring Boot 项目中包括 Spring Data Rest:
dependencies {
...
compile("org.springframework.boot:spring-boot-starter-data-rest")
...
}
以下示例演示了如何在 Spring Boot 项目中使用 Maven 来包含 Spring Data Rest:
<dependencies>
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
...
</dependencies>
如果使用 Spring Boot Gradle plugin 或 Spring Boot Maven plugin 则无需提供版本号。 |
当 Spring Boot 被使用时,Spring Data REST 将被自动配置。
Adding Spring Data REST to a Gradle project
要将 Spring Data REST 添加到一个基于 Gradle 的项目中,请将 “ spring-data-rest-webmvc” 工件添加到编译时间依赖项中,如下所示:
dependencies {
… other project dependencies
compile("org.springframework.data:spring-data-rest-webmvc:{version}")
}
Adding Spring Data REST to a Maven project
要将 Spring Data REST 添加到一个基于 Maven 的项目中,请将 “spring-data-rest-webmvc” 工件添加到你的编译时间依赖项中,如下所示:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-rest-webmvc</artifactId>
<version>{version}</version>
</dependency>
Configuring Spring Data REST
要在你的 Spring MVC 应用中安装 Spring Data REST,你需要包含相应的 MVC 配置。Spring Data REST 配置在一个叫做 “RepositoryRestMvcConfiguration” 的类中定义,你可以将这个类导入到应用的配置中。
如果你使用 Spring Boot 的自动配置,则此步骤不必要。当你在依赖项列表中包含 spring-boot-starter-data-rest 时,Spring Boot 会自动启用 Spring Data REST,并且你的应用程序带有 @SpringBootApplication
或 @EnableAutoConfiguration
标记。
要自定义配置,请注册一个 “RepositoryRestConfigurer”,并实现或覆盖与你的用例相关的 “configure…” 方法。
确保您也为所用的存储配置 Spring Data 资源库。有关详细信息,请参阅 corresponding Spring Data module的参考文档。
Basic Settings for Spring Data REST
本节介绍了在配置 Spring Data REST 应用时可以操作的基本设置,包括:
Setting the Repository Detection Strategy
Spring Data REST 使用 “RepositoryDetectionStrategy” 来确定一个存储库是否作为一个 REST 资源导出。 “RepositoryDiscoveryStrategies” 枚举包含以下值:
Name |
Description |
|
公开所有公共数据存储库接口,但会考虑 |
|
独立于类型可见性和注释公开所有数据存储库。 |
|
除非将 |
|
只公开注释的公共数据存储库。 |
Changing the Base URI
默认情况下,Spring Data REST 将在根 URI,“/”,提供 REST 资源。有许多方法来改变基路径。
对于 Spring Boot 1.2 和更高版本,你可以通过在 “application.properties” 中设置一个属性来改变基本 URI,如下所示:
spring.data.rest.basePath=/api
对于 Spring Boot 1.1 或更早版本,或者如果你没有使用 Spring Boot,你可以这样做:
@Configuration
class CustomRestMvcConfiguration {
@Bean
public RepositoryRestConfigurer repositoryRestConfigurer() {
return new RepositoryRestConfigurer() {
@Override
public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config, CorsRegistry cors) {
config.setBasePath("/api");
}
};
}
}
或者,你可以注册一个 “RepositoryRestConfigurer” 的自定义实现作为 Spring bean,并确保它被组件扫描选中,如下所示:
@Component
public class CustomizedRestMvcConfiguration extends RepositoryRestConfigurer {
@Override
public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config, CorsRegistry cors) {
config.setBasePath("/api");
}
}
以上两种方法都会将基路径改为 “/api”。
Changing Other Spring Data REST Properties
你可以改变以下属性:
Property |
Description |
|
Spring Data REST 的根 URI |
|
更改单个页面中显示的项目数的默认值 |
|
更改单个页面中项目的最大数量 |
|
更改用于选择页面的查询参数名称 |
|
更改用于显示页面中项数的查询参数名称 |
|
更改排序的查询参数名称 |
|
当未指定任何值时,更改要使用的默认媒体类型 |
|
更改创建新实体时是否返回正文 |
|
更改更新实体时是否返回正文 |
Starting the Application
此时,你必须还要配置你的关键数据存储。
Spring Data REST 正式支持:
以下“快速入门”指南可以帮你快速上手:
这些链接指南介绍如何添加关联数据存储库的依赖项、配置域对象和定义存储库。
你可以以 Spring Boot 应用(使用前面显示的链接)的形式运行应用,也可以将其配置为经典的 Spring MVC 应用。
通常情况下,Spring Data REST 不会向给定的数据存储添加功能。这意味着,根据定义,它应该与支持存储库编程模型的任何 Spring Data 项目一起使用。上面列出的数据存储是我们已编写集成测试以验证 Spring Data REST 是否与此类数据存储一起使用的数据存储。 |
从这一步开始,您可以 customize Spring Data REST,并使用各种选项。