跑别人的demo,自己加上swagger,但是却访问不了,最后发现是因为默认的路径被 @EnableWebMvc覆盖掉 或者说是 继承WebMvcConfigurerAdapter类后,默认的静态资源路径对swagger-ui.html访问不起作用,
因此要重写 WebConfigurer(继承WebMvcConfigurerAdapter的那个类) 的一个方法。
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry)
{
String osName = System.getProperty("os.name");
//判断操作系统类型
if(osName.toLowerCase().contains("win")){
localPath += "/";
}
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
super.addResourceHandlers(registry);
}
然后就可以了啦~
本文介绍了在使用Swagger时遇到的访问问题及解决方案。通过重写WebConfigurer类中的addResourceHandlers方法,可以有效解决因默认静态资源路径被覆盖而导致的Swagger访问失败问题。
2566

被折叠的 条评论
为什么被折叠?



