springboot集成swagger构建RESTFUL文档
工具/原料
springboot版本:1.5.2.RELEASE
swagger2版本:2.2.2
方法/步骤
1、首先添加如下依赖,其中版本号为2.2.2
2、新增swagger配置类,注意要加上注解@Configuration和@EnableSwagger2
3、集成之后可以正常启动,但是访问路径,如:localhost:8888/swagger-ui.html报错404
4、找到maven依赖的springfox-swagger-ui-2.2.2.jar,将目录展开,会发现swagger-ui.html在META-INF/resources下面,应该是资源路径不对的原因导致了无法访问
5、第一种解决方案:通过配置文件解决,添加如下配置:spring.mvc.static-pat丝群闻栝h-pattern:/忮氽阝另**spring.resources.static-locations:classpath:/static/,classpath:/META-INF/resources/,classpath:/META-INF/resources/webjars/保存,重启,访问正常
6、第二种解决方案,通过代码配置解决:新建一个配置类(加上注解@Configuration),妤伊佛集继承WebMvcConfigurationSupport类,并重写其中的方法@Over鸡堕樱陨rideprotectedvoidaddResourceHandlers(ResourceHandlerRegistryregistry){//解决静态资源无法访问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/");}保存,重启,访问正常
7、2.2饱终柯肢.2版本的swagger出现过打开非常慢的情况,用F12打开后发现swagger2在疯狂加载api-docs,导致的非常慢,最后是换了一个版本解决了,如果出现这个问题,可以考虑换成2.壅酪认奉7.0,本人就是换成了这个版本(2.7.0版本还会显示每个controller中文注解,2.2.2没有显示)