API 版本

要啟用 API 版本控制,請使用 WebMvcConfigurerApiVersionConfigurer 回撥

  • 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 9745RFC 8594 設定“Deprecation”、“Sunset”和“Link”頭。

配置 API 版本控制後,您可以根據請求版本開始將請求對映到控制器方法

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