开始

Spring Data REST本身是一个Spring MVC应用,其设计宗旨是尽可能方便地与现有Spring MVC应用集成。一个现有(或未来的)服务层可以与Spring Data REST并行运行,只需少量额外工作。

将Spring Data REST添加到Spring Boot项目

最简单的入门方法是构建一个Spring Boot应用,因为Spring Boot为Spring Data REST提供了启动器并使用自动配置。以下示例展示了如何使用Gradle在Spring Boot项目中包含Spring Data REST

示例 1. 使用Gradle的Spring Boot配置
dependencies {
  ...
  implementation("org.springframework.boot:spring-boot-starter-data-rest")
  ...
}

以下示例展示了如何使用Maven在Spring Boot项目中包含Spring Data REST

示例 2. 使用Maven的Spring Boot配置
<dependencies>
  ...
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-rest</artifactId>
  </dependency>
  ...
</dependencies>
如果您使用Spring Boot Gradle插件Spring Boot Maven插件,则无需提供版本号。

当您使用Spring Boot时,Spring Data REST会自动配置。

将Spring Data REST添加到Gradle项目

要将Spring Data REST添加到基于Gradle的项目,请将spring-data-rest-webmvc artifact添加到您的编译时依赖项中,如下所示

dependencies {
  … other project dependencies
  implementation("org.springframework.data:spring-data-rest-webmvc:5.0.0")
}

将Spring Data REST添加到Maven项目

要将Spring Data REST添加到基于Maven的项目,请将spring-data-rest-webmvc artifact添加到您的编译时依赖项中,如下所示

<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-rest-webmvc</artifactId>
  <version>5.0.0</version>
</dependency>

配置Spring Data REST

要将Spring Data REST与现有Spring MVC应用一起安装,您需要包含适当的MVC配置。Spring Data REST配置在名为RepositoryRestMvcConfiguration的类中定义,您可以将该类导入到您的应用配置中。

如果您使用Spring Boot的自动配置,则此步骤是不必要的。当您包含spring-boot-starter-data-rest,并且在您的依赖项列表中,您的应用程序带有@SpringBootApplication@EnableAutoConfiguration标记时,Spring Boot会自动启用Spring Data REST。

要自定义配置,请注册一个RepositoryRestConfigurer并实现或覆盖与您的用例相关的configure…方法。

确保您还为您使用的存储配置Spring Data仓库。有关详细信息,请参阅相应Spring Data模块的参考文档。

Spring Data REST的基本设置

本节介绍配置Spring Data REST应用时可以操作的基本设置,包括

设置仓库检测策略

Spring Data REST使用RepositoryDetectionStrategy来确定是否将仓库导出为REST资源。RepositoryDiscoveryStrategies枚举包含以下值

表 1. 仓库检测策略

名称

描述

DEFAULT

暴露所有公共仓库接口,但考虑@(Repository)RestResourceexported标志。

全部 (ALL)

暴露所有仓库,无论类型可见性和注解如何。

已注解 (ANNOTATED)

只有使用@(Repository)RestResource注解的仓库才会被暴露,除非它们的exported标志设置为false

可见性 (VISIBILITY)

仅暴露使用注解的公共仓库。

更改基本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

更改其他Spring Data REST属性

您可以更改以下属性

表 2. Spring Boot可配置属性

财产

描述

basePath

Spring Data REST的根URI

defaultPageSize

更改单页中提供项目的默认数量

maxPageSize

更改单页中项目的最大数量

pageParamName

更改用于选择页面的查询参数名称

limitParamName

更改用于指定单页中显示项目数量的查询参数名称

sortParamName

更改用于排序的查询参数名称

defaultMediaType

更改未指定时使用的默认媒体类型

returnBodyOnCreate

更改创建新实体时是否应返回响应体

returnBodyOnUpdate

更改更新实体时是否应返回响应体

启动应用

此时,您还必须配置您的关键数据存储。

Spring Data REST正式支持

以下入门指南可以帮助您快速启动和运行

这些链接的指南介绍了如何添加相关数据存储的依赖项、配置领域对象以及定义仓库。

您可以将应用程序作为Spring Boot应用程序运行(使用前面显示的链接),也可以将其配置为经典的Spring MVC应用程序。

通常,Spring Data REST不会向给定数据存储添加功能。这意味着,根据定义,它应该适用于任何支持仓库编程模型的Spring Data项目。上面列出的数据存储是我们编写了集成测试以验证Spring Data REST可以与之配合使用的数据存储。

从这里开始,您可以通过各种选项自定义Spring Data REST

© . This site is unofficial and not affiliated with VMware.