swagger-ui访问不到(swagger的访问)

swagger-ui访问不到(swagger的访问)由于集成 shiro 框架 然后开放了 cookie 在后台加了一个解决跨域问题的类 该类继承了 WebMvcConfig 导致 swagger 的映射失效 原代码 解决方案 重新继承 WebMvcConfig 然后重写 addResourceH 方法即可 源码由下 Configuratio public class

大家好,我是讯享网,很高兴认识大家。




讯享网

 由于集成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);
}
}

讯享网

然后重启项目即可

 

小讯
上一篇 2025-05-05 16:52
下一篇 2025-06-03 07:07

相关推荐

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