swagger 的 pathmapping 配置的理解
- 首选看源码注释:
/* Extensibility mechanism to add a servlet path mapping, if there is one, to the apis base path. 扩展性机制,用于将servlet路径映射(如果有)添加到API基本路径。
**/
public Docket pathMapping(String path) { this.pathMapping = ofNullable(path);
return this;
}
2.我的理解:
2.1 它是一个附加虚拟路径,并没有映射产生对应到上@RequestMapping里面的路径。 所以你后端跑,配置上pathMapping用的话会报404.
2.2 它会作用到生成swagger-doc里的api路径拼接 http://host:port/pathmapping/apiurl。
2.3 在前后端分离架构上, swagger使用iframe方式嵌套,生成的地址都是前端暴露的地址端口,后端请求转发都需要拼接关键字 “dev-api”
来标记区别是请求nginx静态资源,然后由proxy判断 关键字转发到后端接口, proxy会rewrite到后端地址+端口时,通常会去掉关键字“dev-api”.所以swagger生成的docs
如果在此环境下需要配置上pathMapping 让它生成的文档地址里带上 关键字。这样swagger的api也是通过前端端口转发访问到后端了。
2.4 假如要后端直接访问,那么要去掉 pathMapping. 这个就是经常遇到的问题key.
本文来自博客园,作者:韩小二,转载请注明原文链接:https://www.cnblogs.com/henry-2020/p/15796475.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)