问题描述:

当我按照网上教程学习时,在SpringBoot上面集成了swagger后(引入

springfox-swagger2和
springfox-swagger-ui依赖

)依赖是3.0.0最新版,按照老师的教程里面的网址进行访问:http://localhost:8080/swagger-ui.html然后先是项目启动不起来

此时idea报错信息:

为了解决无法启动的问题,进网上查询得知

错误原因:SpringBoot2.6.x使用PathPatternMatcher匹配路径,Swagger引用的Springfox基于AntPathMatcher匹配路径。匹配方式不同,导致错误。

解决办法:将SpringBoot的匹配路径方式更改为AntPathMatcher,两者相同即可。添加配置信息如下 

spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER

虽然现在可以成功启动了,可又出现404的问题;

又从网上得知可能是地址的问题,我是使用的不同于老师的swagger版本

这是我导入的最新的3.0.0版本的:

低版本的长这样: 

 于是乎我意识到是因为资源文件名改变了的缘故,于是我马上将地址栏上面地址改为:http://localhost:8080/swagger-ui/index.html,结果还是404

 从最开始的项目启动不了--到改变了地址还是无法访问  属实有点闷了

然后又去网上查找解决方案:

网上说如果你的地址是对的,还访问不了,大概率是请求被拦截了,写个配置类重写

WebMvcConfigurer类,重写
addResourceHandlers就行了

于是马上赋值粘贴 就修改了下pattern

 最后运行,依旧404

最后没办法了不要高版本的了,换用了2.9.2版本的

 重启项目,结果报了占用端口的错误,无论我怎么改变端口,都是已被占用

最后将所有的java进程全部关闭,最后重启项目,访问网站,最终访问成功

 总结:不要使用高版本的swagger与SpringBoot的这个版本不兼容,使用低版本的就行了;

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐