springboot整合swagger2打不开swagger-ui.html或者doc.html的问题记录
一.问题背景
用springboot整合swagger依赖,编译运行后,发现可以打开http://localhost:8888/swagger-ui.html这个页面(正常显示),却无法打开http://localhost:8888/doc.html这个页面,报错404。pom.xml文件导入依赖如下:
二.解决思路
通过搜索检阅发现需要导入swagger-bootstrap-ui这个依赖,导入依赖后依然访问不到doc.html这个页面。检查上述依赖是否完整导入(由于导入时网络不好),检查本地仓库依赖是否完整,git重置本地仓库到上个一个版本(git checkout),清除掉untracked的文件(git clean -df)。重新导入依赖,排除依赖导入不完整的情况下,依然出现上述问题。
通过查阅发现,需要为springmvc在写一个配置类,配置类如下:
@Configuration public class MyWebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOriginPatterns("*") .allowedHeaders("*") .allowCredentials(true) .allowedMethods("*"); } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); } }
重写addResourceHandlers方法,添加resource location配置,重新编译后成功解决上述问题。(亲测有效)
网上其他解决思路:两个ui依赖去掉swagger-ui这个依赖,只用swagger-bootstrap-ui依赖,重新导入编译访问页面。(我觉得这个应该和两个ui版本过低互相有冲突有关,尽量导入较高版本的依赖,)
本文来自博客园,作者:iaxusyy,转载请注明原文链接:https://www.cnblogs.com/ww-NoBugs/p/15225343.html
分类:
框架和第三方轮子
标签:
springboot
, swagger
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!