由于集成shiro 框架,然后开放了cookie ,在后台加了一个解决跨域问题的类,该类继承了WebMvcConfiguration ,导致swagger的映射失效。
原代码:
解决方案:重新继承 WebMvcConfigurationSupport

然后重写 addResourceHandlers 方法即可(源码由下)

@Configuration public class WebMvcConfigurer extends WebMvcConfigurationSupport {
讯享网/
* 发现如果继承了WebMvcConfigurationSupport,则在yml中配置的相关内容会失效。 需要重新指定静态资源
*
* @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/");
super.addResourceHandlers(registry);
}
@Override
public void addCorsMappings(CorsRegistry registry) {
//设置允许跨域的路径
registry.addMapping("/")
//设置允许跨域请求的域名
// .allowedOrigins("*")
.allowedOriginPatterns("*")
//这里:是否允许证书 不再默认开启
.allowCredentials(true)
//设置允许的方法
.allowedMethods("*")
//跨域允许时间
.maxAge(3600);
}
}
讯享网
然后重启项目即可



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/206790.html