此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10! |
API 版本控制
Spring MVC 支持 API 版本控制。本节概述了支持和底层策略。
另请参阅以下相关内容:
客户端对 API 版本控制的支持也可在RestClient
,WebClient
和 HTTP 服务客户端,以及用于在 MockMvc 中进行测试,并且WebTestClient
.
ApiVersion策略
这是 API 版本控制的核心策略,包含所有配置的首选项与版本控制相关。它执行以下作:
-
通过 ApiVersionResolver 解析请求中的版本
-
将原始版本值解析为
Comparable<?>
使用 ApiVersionParser -
验证请求版本
-
在响应中发送弃用提示
ApiVersionStrategy
有助于将请求映射到@RequestMapping
控制器方法,并由 MVC 配置初始化。通常,应用程序不会交互直接与它。
ApiVersion解析器
此策略从请求中解析 API 版本。MVC 配置提供了内置的选项,可从标头、查询参数、媒体类型参数、或从 URL 路径解析。您还可以使用自定义ApiVersionResolver
.
路径解析器始终解析指定路径段中的版本,或 提高InvalidApiVersionException 否则,因此它不能屈服于其他 解析 器。 |
ApiVersion解析器
此策略有助于将原始版本值解析为Comparable<?>
,这有助于比较、排序和选择版本。默认情况下,内置的SemanticApiVersionParser
将版本解析为major
,minor
和patch
整数值。次要值和补丁值如果不存在,则值设置为 0。
验证
如果不支持请求版本,InvalidApiVersionException
引发,导致在 400 响应中。默认情况下,受支持的版本列表是从声明的versions 初始化的,但您可以通过MVC 配置中的标志将其关闭,并仅使用配置中显式配置的版本。
默认情况下,启用 API 版本控制时需要版本,并且MissingApiVersionException
如果不存在,则会引发 400 响应。您可以将其设为可选,在这种情况下,将使用最新版本。您还可以指定要使用的默认版本。
请求映射
ApiVersionStrategy
支持将请求映射到带注释的控制器方法。
有关更多详细信息,请参阅 API 版本。