1. 首选看源码注释:
/* 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路径拼接。
2.3 在前后端分离架构上, swagger使用iframe方式嵌套,生成的地址都是前端暴露的地址端口,后端请求转发都需要拼接关键字 “dev-api”
然后由proxy判断 关键字转发到后端接口, proxy会rewrite到后端地址+端口时,通常会去掉关键字“dev-api”.所以swagger生成的docs
如果在此环境下需要配置上pathMapping 让它生成的文档地址里带上 关键字。这样swagger的api也是通过前端端口转发访问到后端了。
2.4 假如要后端直接访问,那么要去掉 pathMapping. 这个就是经常遇到的问题key.
相关文章
- 01-05警惕!攻击者偏爱的6大默认配置攻击“宿主”
- 01-05理解 Go 1.13 中 sync.Pool 的设计与实现
- 01-05官方博文 | 连老手也容易犯错的Zabbix SNMP该如何正确配置?
- 01-05从MAP角度理解神经网络训练过程中的正则化
- 01-05强化学习中的应该理解的一些关键概念(笔记)
- 01-05对Springdata模块的简单理解
- 01-05对 rest 参数(剩余参数) 与 Spread 语法(展开语法)的理解
- 01-05svn中的Trunk,branches,tags深度理解
- 01-05Struts2项目.xml文件配置错误:元素类型为 "package" 的内容必须匹配 "(result-types?,interceptors?,default-int
- 01-05SpringMVC配置了拦截器(interceptors)却显示不出css、js样式的解决办法