springboot配置swagger拦截器
需要实现WebMvcConfigurer接口
/** * addResourceHandlers:静态资源 * 比如,我们想自定义静态资源映射目录的话,只需重写addResourceHandlers方法即可。 * 注:如果继承WebMvcConfigurationSupport类实现配置时必须要重写该方法, * addResoureHandler:指的是对外暴露的访问路径 * addResourceLocations:指的是内部文件放置的目录 * * @param registry */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") .addResourceLocations("classpath:/static/"); registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); registry.addResourceHandler("doc.html") .addResourceLocations("classpath:/META-INF/resources/"); } }
如果嫌配麻烦也有swagger的starter
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>
starter已经实现拦截器所以自己不用配置了
public class SwaggerUiWebMvcConfigurer implements WebMvcConfigurer { private final String baseUrl; public SwaggerUiWebMvcConfigurer(String baseUrl) { this.baseUrl = baseUrl; } public void addResourceHandlers(ResourceHandlerRegistry registry) { String baseUrl = StringUtils.trimTrailingCharacter(this.baseUrl, '/'); registry.addResourceHandler(new String[]{baseUrl + "/swagger-ui/**"}).addResourceLocations(new String[]{"classpath:/META-INF/resources/webjars/springfox-swagger-ui/"}).resourceChain(false); } public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController(this.baseUrl + "/swagger-ui/").setViewName("forward:" + this.baseUrl + "/swagger-ui/index.html"); } }
如果拦截器配置了还访问不了访问可以看我这篇文章:点击我

浙公网安备 33010602011771号