关于使用swagger时出现在浏览器输入网址无法访问的问题
使用swagger时,无法访问的问题
问题描述:
当我按照网上教程学习时,在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的这个版本不兼容,使用低版本的就行了;
更多推荐
所有评论(0)