API 版本控制

Spring MVC 支援 API 版本控制。本節概述了該支援和底層策略。

另請參閱相關內容:

RestClientWebClientHTTP 服務 客戶端中,以及在 MockMvc 和 WebTestClient 測試中,也提供了對 API 版本控制的客戶端支援。

ApiVersionStrategy

這是 API 版本控制的核心策略,它包含所有與版本控制相關的配置偏好。它執行以下操作:

ApiVersionStrategy 有助於將請求對映到 @RequestMapping 控制器方法,並由 MVC 配置初始化。通常,應用程式不會直接與其互動。

ApiVersionResolver

此策略從請求中解析 API 版本。MVC 配置提供了內建選項,可從標頭、查詢引數、媒體型別引數或 URL 路徑進行解析。您還可以使用自定義的 ApiVersionResolver

路徑解析器始終從指定的路徑段解析版本,否則會引發 InvalidApiVersionException,因此它不能讓位給其他解析器。

ApiVersionParser

此策略有助於將原始版本值解析為 Comparable<?>,這有助於比較、排序和選擇版本。預設情況下,內建的 SemanticApiVersionParser 將版本解析為 majorminorpatch 整數值。如果不存在,則次要和補丁值設定為 0。

驗證

如果請求版本不受支援,則會引發 InvalidApiVersionException,導致 400 響應。預設情況下,支援的版本列表是從帶註解的控制器對映中宣告的版本初始化的,但您可以透過 MVC 配置中的一個標誌將其關閉,並且只使用配置中明確配置的版本。

預設情況下,啟用 API 版本控制時需要一個版本,如果不存在,則會引發 MissingApiVersionException,導致 400 響應。您可以將其設為可選,在這種情況下將使用最新版本。您還可以指定要使用的預設版本。

ApiVersionDeprecationHandler

此策略可以配置為透過響應頭向客戶端傳送有關已棄用版本的提示和資訊。內建的 StandardApiVersionDeprecationHandler 可以設定 "Deprecation"、"Sunset" 頭和 "Link" 頭,如 RFC 9745RFC 8594 中所定義。您還可以為不同的頭配置自定義處理程式。

請求對映

ApiVersionStrategy 支援將請求對映到帶註解的控制器方法。有關詳細資訊,請參閱 API 版本

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