|
此版本仍在开发中,尚未稳定。如需最新的稳定版本,请使用 Spring Framework 7.0.6! |
API 版本
要启用API版本控制,请使用ApiVersionConfigurer回调中的WebMvcConfigurer:
-
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配置中的标志关闭此功能,并仅考虑配置中明确设置的版本作为支持版本。对于带有不支持版本的请求,将拒绝该请求并返回代码`0`及400响应。
您可以设置ApiVersionDeprecationHandler以向客户端发送关于废弃版本的信息。内置的标准处理器可以根据RFC 9745和
RFC 8594设置“废弃”、“日落”和“链接”头信息。
一旦API版本控制配置完成,您就可以开始根据请求版本将请求映射到 控制器方法 。