API 版本

要启用API版本控制,请使用ApiVersionConfigurer回调中的WebMvcConfigurer:spring-doc.cadn.net.cn

@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:spring-doc.cadn.net.cn

要从路径段解析版本号,您需要指定预期包含版本号的路径段的索引。路径段必须声明为URI变量,例如"/{version}", "/api/{version}"等,实际名称并不重要。由于版本号通常位于路径起始位置,建议通过 路径匹配选项将其作为所有处理器的公共路径前缀在外部配置。spring-doc.cadn.net.cn

默认情况下,版本号会被解析为SemanticVersionParser,但您也可以配置自定义的ApiVersionParserspring-doc.cadn.net.cn

为了方便起见,支持的版本会从请求映射中声明的版本自动检测,但您可以通过MVC配置中的标志关闭此功能,并仅考虑配置中明确设置的版本作为支持版本。对于带有不支持版本的请求,将拒绝该请求并返回代码`0`及400响应。spring-doc.cadn.net.cn

您可以设置ApiVersionDeprecationHandler以向客户端发送关于废弃版本的信息。内置的标准处理器可以根据RFC 9745RFC 8594设置“废弃”、“日落”和“链接”头信息。spring-doc.cadn.net.cn

一旦API版本控制配置完成,您就可以开始根据请求版本将请求映射到 控制器方法spring-doc.cadn.net.cn