WebMvcConfigurationSupport配置拦截器,并开放swagger3的接口v3/api-docs
时间: 2024-10-10 11:11:56 浏览: 95
WebMvcConfigurationSupport是Spring MVC框架提供的一个支持类,它简化了基于XML的@Configuration类的编写,特别是关于MVC配置的部分。通过这个支持类,你可以方便地添加全局拦截器(Filter)以及处理Swagger 2.x到3.x版本之间的转换。
如果你想在Spring MVC中配置拦截器,可以这样做:
```java
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class GlobalInterceptorConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 添加自定义拦截器
MyGlobalInterceptor interceptor = new MyGlobalInterceptor();
registry.addInterceptor(interceptor).addPathPatterns("/**"); // 匹配所有请求路径
}
}
```
在这个例子中,`MyGlobalInterceptor`是你自定义的拦截器类,`addPathPatterns("/**")`表示对所有URL生效。
对于将Swagger 2.x升级到3.x,你需要替换掉Swagger 2.x的API文档生成器(如@Api、@ApiOperation等),并使用Swagger 3.x的注解如`@Operation`。同时,不再直接使用`@EnableSwagger2`或`@EnableSwagger2WebMvc`,而是使用`springdoc-openapi-ui`和`springdoc-openapi-core`依赖,并在配置中启用Swagger 3:
```java
import io.springfox.documentation.builders.PathSelectors;
import io.springfox.documentation.spi.DocumentationType;
import springfox.documentation.swagger3.annotations.EnableOpenApi;
@Configuration
@EnableOpenApi
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.OAS_30)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
// 自定义API信息...
}
}
```
阅读全文