入門
Spring Data REST 本身就是一個 Spring MVC 應用,其設計旨在能夠輕鬆整合到您現有的 Spring MVC 應用中。現有(或未來)的服務層可以與 Spring Data REST 並行執行,只需少量額外工作。
將 Spring Data REST 新增到 Spring Boot 專案
最簡單的入門方法是構建一個 Spring Boot 應用,因為 Spring Boot 提供了 Spring Data REST starter 並使用自動配置。以下示例展示瞭如何使用 Gradle 將 Spring Data REST 包含到 Spring Boot 專案中。
dependencies {
...
compile("org.springframework.boot:spring-boot-starter-data-rest")
...
}
以下示例展示瞭如何使用 Maven 將 Spring Data REST 包含到 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
compile("org.springframework.data:spring-data-rest-webmvc:4.4.5")
}
將 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>4.4.5</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
Bean,並實現或覆蓋與您的用例相關的 configure…
方法。
確保您也為您使用的儲存配置了 Spring Data 倉庫。有關詳細資訊,請參閱相應 Spring Data 模組的參考文件。
Spring Data REST 的基本設定
本節介紹了配置 Spring Data REST 應用時可以操作的基本設定,包括:
設定倉庫檢測策略
Spring Data REST 使用 RepositoryDetectionStrategy
來確定倉庫是否作為 REST 資源匯出。RepositoryDiscoveryStrategies
列舉包含以下值:
名稱 |
描述 |
|
暴露所有公共倉庫介面,但會考慮 |
|
暴露所有倉庫,不受型別可見性和註解的影響。 |
|
僅暴露使用 |
|
僅暴露使用註解的公共倉庫。 |
更改基本 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 屬性
您可以修改以下屬性:
屬性 |
描述 |
|
Spring Data REST 的根 URI |
|
更改單個頁面中提供的專案數量的預設值 |
|
更改單個頁面中的最大專案數量 |
|
更改用於選擇頁面的查詢引數名稱 |
|
更改用於指定頁面顯示專案數量的查詢引數名稱 |
|
更改用於排序的查詢引數名稱 |
|
更改未指定時使用的預設媒體型別 |
|
更改建立新實體時是否應返回響應體 |
|
更改更新實體時是否應返回響應體 |
啟動應用
至此,您還必須配置您的主要資料儲存。
Spring Data REST 官方支援:
以下入門指南可以幫助您快速啟動和執行:
這些連結的指南介紹瞭如何新增相關資料儲存的依賴項、配置域物件以及定義倉庫。
您可以將您的應用作為 Spring Boot 應用執行(使用前面顯示的連結),或者將其配置為經典的 Spring MVC 應用。
通常,Spring Data REST 不會向給定的資料儲存新增功能。這意味著,根據定義,它應該與任何支援倉庫程式設計模型的 Spring Data 專案一起工作。上面列出的資料儲存是那些我們編寫了整合測試來驗證 Spring Data REST 與之相容的資料儲存。 |
從這裡開始,您可以使用各種選項自定義 Spring Data REST。