大佬教程收集整理的这篇文章主要介绍了配置跨域后发现swagger2不能访问问题,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
原因分析:可能是swagger2的内置接口和静态资源拦截了
原springboot的全局跨域配置如下
/**
* 解决跨域问题
*/
@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addCorsmappings(CorsRegistry registry) {
//设置允许跨域的路劲
registry.addMapping("/**")
//设置允许跨域请求的域名
// .allowedOrigins("*")
.allowedOriginPatterns("*")
//设置允许的方法
.allowedMethods("*")
//允许的请求头
.allowedHeaders("*")
//跨域允许时间
.maxAge(3600)
//是否允许证书 不在默认开启
.allowCredentials(true);
}
}
配置跨域后发现swagger2不能继续访问,需要在上面的类中添加如下代码:
/**
* 跨域配置后swagger2可能不能访问,需要增加如下配置
* @param registry
* 对静态资源的配置
*/
@Override
public void addresourceHandlers(resourceHandlerRegistry registry) {
registry.addresourceHandler("swagger-ui.html")
.addresourceLOCATIOns("classpath:/META-INF/resources/");
registry.addresourceHandler("doc.html")
.addresourceLOCATIOns("classpath:/META-INF/resources/");
registry.addresourceHandler("/webjars/**")
.addresourceLOCATIOns("classpath:/META-INF/resources/webjars/");
}
总配置类代码如下:
/**
* 解决跨域问题
*/
@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addCorsmappings(CorsRegistry registry) {
//设置允许跨域的路劲
registry.addMapping("/**")
//设置允许跨域请求的域名
// .allowedOrigins("*")
.allowedOriginPatterns("*")
//设置允许的方法
.allowedMethods("*")
//允许的请求头
.allowedHeaders("*")
//跨域允许时间
.maxAge(3600)
//是否允许证书 不在默认开启
.allowCredentials(true);
}
/**
* 跨域配置后swagger2可能不能访问,需要增加如下配置
* @param registry
* 对静态资源的配置
*/
@Override
public void addresourceHandlers(resourceHandlerRegistry registry) {
registry.addresourceHandler("swagger-ui.html")
.addresourceLOCATIOns("classpath:/META-INF/resources/");
registry.addresourceHandler("doc.html")
.addresourceLOCATIOns("classpath:/META-INF/resources/");
registry.addresourceHandler("/webjars/**")
.addresourceLOCATIOns("classpath:/META-INF/resources/webjars/");
}
}
以上是大佬教程为你收集整理的配置跨域后发现swagger2不能访问问题全部内容,希望文章能够帮你解决配置跨域后发现swagger2不能访问问题所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。