開始使用
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.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>4.4.0</version>
</dependency>
配置 Spring Data REST
若要在現有的 Spring MVC 應用程式旁邊安裝 Spring Data REST,您需要包含適當的 MVC 配置。Spring Data REST 配置定義在名為 RepositoryRestMvcConfiguration
的類別中,您可以將該類別匯入到應用程式的配置中。
如果您使用 Spring Boot 的自動配置,則此步驟是不必要的。當您包含 spring-boot-starter-data-rest,並且在您的依賴項列表中,您的應用程式標記有 @SpringBootApplication 或 @EnableAutoConfiguration 時,Spring Boot 會自動啟用 Spring Data REST。 |
若要自訂配置,請註冊 RepositoryRestConfigurer
並實作或覆寫與您的用例相關的 configure…
方法。
請確保您也為您使用的儲存區配置 Spring Data Repository。有關詳細資訊,請參閱 相應 Spring Data 模組 的參考文件。
Spring Data REST 的基本設定
本節涵蓋您在配置 Spring Data REST 應用程式時可以操作的基本設定,包括
設定 Repository 偵測策略
Spring Data REST 使用 RepositoryDetectionStrategy
來判斷 Repository 是否作為 REST 資源匯出。RepositoryDiscoveryStrategies
列舉包含下列值
名稱 |
描述 |
|
公開所有公開 Repository 介面,但考量 |
|
獨立於類型可見性和註解公開所有 Repository。 |
|
僅公開使用 |
|
僅公開已註解的公開 Repository。 |
變更基本 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 |
|
變更單頁中提供的項目數的預設值 |
|
變更單頁中的最大項目數 |
|
變更用於選取頁面的查詢參數名稱 |
|
變更頁面中要顯示的項目數的查詢參數名稱 |
|
變更用於排序的查詢參數名稱 |
|
變更在未指定時使用的預設媒體類型 |
|
變更在建立新實體時是否應傳回 Body |
|
變更在更新實體時是否應傳回 Body |
啟動應用程式
此時,您還必須配置您的主要資料儲存區。
Spring Data REST 官方支援
下列開始使用指南可以協助您快速啟動並執行
這些連結的指南介紹如何為相關資料儲存區新增依賴項、配置網域物件,以及定義 Repository。
您可以將您的應用程式作為 Spring Boot 應用程式(使用先前顯示的連結)執行,或將其配置為經典 Spring MVC 應用程式。
一般而言,Spring Data REST 不會為給定的資料儲存區新增功能。這表示,根據定義,它應適用於任何支援 Repository 程式設計模型的 Spring Data 專案。上面列出的資料儲存區是我們已編寫整合測試以驗證 Spring Data REST 適用於它們的資料儲存區。 |
從此處開始,您可以透過各種選項自訂 Spring Data REST。