问题发现:普通项目整合swagger没有任何问题,访问正常,但是一个整合了springsecurity的项目整合swagger后相继出现401,404等问题,解决办法如下。
401解决:springsecurity里放行swagger里用到的请求,打开一个能访问swagger的项目,F12后发现请求如下:
"/swagger-ui.html","/webjars/**","/swagger-resources/**","/v2/**"
放行后一般就可以解决401问题了,但是可能会发现又出现404问题。
404问题解决:
swagger的配置类继承 WebMvcConfigurationSupport,重写addResourceHandlers方法。
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
// 解决静态资源访问问题
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
// 解决swagger访问问题
registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
// 解决swagger的js文件访问问题
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
如果如上操作后还是出现404,将此配置类放在根目录下试试,一般就可以访问了