配置跨域后发现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/");
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)