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