对于最新的稳定版本,请使用 Spring Data REST 4.3.1Spring中文文档

对于最新的稳定版本,请使用 Spring Data REST 4.3.1Spring中文文档

如果使用 Spring Boot,则不需要执行以下步骤。对于启动应用程序,添加会自动将 Spring Data REST 添加到您的应用程序。spring-boot-starter-data-rest

您可以将 Spring Data REST 与现有的 Spring MVC 应用程序集成。在 Spring MVC 配置中(很可能是配置 MVC 资源的位置),添加对负责配置 .类名为 。下面的示例演示如何使用批注来添加正确的引用:RepositoryRestControllerorg.springframework.data.rest.webmvc.RepositoryRestMvcConfiguration@ImportSpring中文文档

配置如下所示:Spring中文文档

爪哇岛
import org.springframework.context.annotation.Import;
import org.springframework.data.rest.webmvc.RepositoryRestMvcConfiguration;

@Configuration
@Import(RepositoryRestMvcConfiguration.class)
public class MyApplicationConfiguration {

  …
}
XML格式
<bean class="org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration"/>

当您的 ApplicationContext 遇到此 Bean 定义时,它会引导必要的 Spring MVC 资源,以完全配置控制器以导出它在该上下文和任何父上下文中找到的存储库。ApplicationContextSpring中文文档

如果使用 Spring Boot,则不需要执行以下步骤。对于启动应用程序,添加会自动将 Spring Data REST 添加到您的应用程序。spring-boot-starter-data-rest

有关所需配置的更多信息

Spring Data REST依赖于几个Spring MVC资源,这些资源必须正确配置才能在现有的Spring MVC应用程序中工作。我们试图将这些资源与应用程序中已经存在的任何类似资源隔离开来,但您可能希望通过修改这些 MVC 组件来自定义 Spring Data REST 的某些行为。Spring中文文档

您应该特别注意配置,将在下一节中介绍。RepositoryRestHandlerMappingSpring中文文档

RepositoryRestHandlerMapping

我们注册了一个自定义实例,该实例仅响应 并且仅当路径旨在由 Spring Data REST 处理时。为了将应用程序处理的路径与Spring Data REST处理的路径分开,此自定义类将检查URL路径并检查是否已以该名称导出存储库。如果有,自定义类允许 Spring Data REST 处理请求。如果没有以该名称导出的存储库,则返回 ,这意味着“让其他实例尝试处理此请求”。HandlerMappingRepositoryRestControllerHandlerMappingHandlerMappingnullHandlerMappingSpring中文文档

Spring Data REST配置了 ,这意味着在映射URL路径时,它通常排在第一位。现有应用程序永远没有机会为存储库的请求提供服务。例如,如果您以 的名称导出了一个存储库,则对应用程序的所有以 开头的请求都由 Spring Data REST 处理,并且您的应用程序永远不会看到该请求。但是,如果您的存储库以不同的名称(例如 )导出,则转到 Spring Data REST 的请求和对 的请求将由您的应用程序处理。HandlerMappingorder=(Ordered.LOWEST_PRECEDENCE - 100)person/personpeople/people/personSpring中文文档