API 版本

要启用 API 版本控制,请使用 WebMvcConfigurerApiVersionConfigurer 回调

  • Java

  • Kotlin

@Configuration
public class WebConfiguration implements WebMvcConfigurer {

	@Override
	public void configureApiVersioning(ApiVersionConfigurer configurer) {
		configurer.useRequestHeader("API-Version");
	}
}
@Configuration
class WebConfiguration : WebMvcConfigurer {

	override fun configureApiVersioning(configurer: ApiVersionConfigurer) {
		configurer.useRequestHeader("API-Version")
	}
}

您可以通过下面列出的内置选项之一解析版本,或者使用自定义的 ApiVersionResolver

  • 请求头

  • 请求参数

  • 路径段

  • 媒体类型参数

要从路径段解析,您需要指定预期包含版本的路径段的索引。路径段必须声明为 URI 变量,例如 "/{version}"、"/api/{version}" 等,其中实际名称并不重要。由于版本通常位于路径的开头,请考虑通过 路径匹配 选项将其外部配置为所有处理程序的公共路径前缀。

默认情况下,版本使用 SemanticVersionParser 进行解析,但您也可以配置自定义的 ApiVersionParser

为方便起见,支持的版本会从请求映射中声明的版本中透明地检测到,但您可以通过 MVC 配置中的一个标志关闭此功能,并且只考虑在配置中明确配置为支持的版本。版本不支持的请求将被 InvalidApiVersionException 拒绝,导致 400 响应。

您可以设置 ApiVersionDeprecationHandler 来向客户端发送有关已弃用版本的信息。内置的标准处理程序可以根据 RFC 9745RFC 8594 设置“Deprecation”、“Sunset”和“Link”头。

配置 API 版本控制后,您可以根据请求版本开始将请求映射到控制器方法

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