API 版本
要啟用 API 版本控制,請使用 WebMvcConfigurer 的 ApiVersionConfigurer 回撥
-
Java
-
Kotlin
@Configuration
public class WebConfiguration implements WebMvcConfigurer {
@Override
public void configureApiVersioning(ApiVersionConfigurer configurer) {
configurer.useRequestHeader("API-Version");
}
}
@Configuration
class WebConfiguration : WebMvcConfigurer {
override fun configureApiVersioning(configurer: ApiVersionConfigurer) {
configurer.useRequestHeader("API-Version")
}
}
您可以透過下面列出的內建選項之一解析版本,或者使用自定義的 ApiVersionResolver
-
請求頭
-
請求引數
-
路徑段
-
媒體型別引數
要從路徑段解析,您需要指定預期包含版本的路徑段的索引。路徑段必須宣告為 URI 變數,例如 "/{version}"、"/api/{version}" 等,其中實際名稱並不重要。由於版本通常位於路徑的開頭,請考慮透過 路徑匹配 選項將其外部配置為所有處理程式的公共路徑字首。
預設情況下,版本使用 SemanticVersionParser 進行解析,但您也可以配置自定義的 ApiVersionParser。
為方便起見,支援的版本會從請求對映中宣告的版本中透明地檢測到,但您可以透過 MVC 配置中的一個標誌關閉此功能,並且只考慮在配置中明確配置為支援的版本。版本不支援的請求將被 InvalidApiVersionException 拒絕,導致 400 響應。
您可以設定 ApiVersionDeprecationHandler 來向客戶端傳送有關已棄用版本的資訊。內建的標準處理程式可以根據 RFC 9745 和 RFC 8594 設定“Deprecation”、“Sunset”和“Link”頭。
配置 API 版本控制後,您可以根據請求版本開始將請求對映到控制器方法。