此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10spring-doc.cadn.net.cn

API 版本控制

Spring WebFlux 支持 API 版本控制。本节概述了支持。 和基本战略。spring-doc.cadn.net.cn

另请参阅以下相关内容:spring-doc.cadn.net.cn

客户端对 API 版本控制的支持也可在RestClient,WebClientHTTP 服务客户端,以及 用于测试WebTestClient.spring-doc.cadn.net.cn

ApiVersion策略

这是 API 版本控制的核心策略,它包含所有配置的首选项 与版本控制相关。它执行以下作:spring-doc.cadn.net.cn

ApiVersionStrategy有助于将请求映射到@RequestMapping控制器方法, 并由 WebFlux 配置初始化。通常,应用程序不会交互 直接与它一起使用。spring-doc.cadn.net.cn

ApiVersion解析器

此策略从请求中解析 API 版本。WebFlux 配置提供内置的 从标头解析的选项、查询参数、媒体类型参数、 或从 URL 路径。您还可以使用自定义ApiVersionResolver.spring-doc.cadn.net.cn

路径解析器始终解析指定路径段中的版本,或 提高InvalidApiVersionException否则,因此它不能屈服于其他 解析 器。

ApiVersion解析器

此策略有助于将原始版本值解析为Comparable<?>,这有助于 比较、排序和选择版本。默认情况下,内置的SemanticApiVersionParser将版本解析为major,minorpatWebFluxchinteger 值。次要和补丁 如果不存在,则值设置为 0。spring-doc.cadn.net.cn

验证

如果不支持请求版本,InvalidApiVersionException被引发,导致 在 400 个回复中。默认情况下,支持的版本列表是从 declared 版本,但您可以通过 WebFlux 配置,并且仅使用配置中显式配置的版本。spring-doc.cadn.net.cn

默认情况下,启用 API 版本控制时需要版本,并且MissingApiVersionException如果不存在,则会引发 400 响应。 您可以将其设为可选,在这种情况下,将使用最新版本。 您还可以指定要使用的默认版本。spring-doc.cadn.net.cn

ApiVersionDeprecationHandler

可以将此策略配置为将有关已弃用版本的提示和信息发送到 客户端通过响应标头。内置的StandardApiVersionDeprecationHandler可以设置 RFC 9745RFC 8594 中定义的“弃用”、“日落”标头和“链接”标头。您还可以配置自定义 处理程序。spring-doc.cadn.net.cn

请求映射

ApiVersionStrategy支持将请求映射到带注释的控制器方法。 有关更多详细信息,请参阅 API 版本spring-doc.cadn.net.cn