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

API 版本控制

Spring WebFlux 支持 API 版本控制。本节概述了 以及基础策略。spring-doc.cadn.net.cn

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

客户端也支持 API 版本控制RestClient,WebClientHTTP 服务客户端,以及 用于测试WebTestClient.

ApiVersionStrategy

此策略包含有关如何管理版本控制的所有应用程序首选项。 它委托给 ApiVersionResolver 来解析版本 from requests 和 to ApiVersionParser 解析原始版本 值转换为Comparable<?>.它还有助于验证请求版本。spring-doc.cadn.net.cn

ApiVersionStrategy帮助将请求映射到@RequestMapping控制器方法、 并由 WebFlux 配置初始化。通常,应用程序不会直接与它交互。

ApiVersionResolver

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

ApiVersion解析器

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

验证

如果请求版本不受支持,则InvalidApiVersionException引发导致 在 400 响应中。默认情况下,支持的版本列表是从声明的 版本。您可以添加到该列表,或显式设置它 到 MVC 配置一组固定的版本(即忽略声明的版本)。spring-doc.cadn.net.cn

默认情况下,启用 API 版本控制时需要一个版本,但您可以将其设置为 off ,在这种情况下,将使用最高可用版本。您还可以指定默认值 版本。MissingApiVersionException引发时,当 version 是必需的,但不存在。spring-doc.cadn.net.cn

请求映射

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