Swagger2 修改默认访问路径 <最简单>

1,299 阅读1分钟

背景

部署到公司内网服务器,swagger就不可以访问了,为了不用本地启动项目才可以前端同学方便看,所以想到解决这个问题。
我看网上好多都是,拉取ui代码进行修改或者是进行重定向,并解决不了问题。

本地访问swagger

http://ip:port/{context-path}/swagger-ui.html

内网访问:

http://ip:port/{context-path}/swagger-ui.html
通过nginx---> http://ip:port/{context-path}/xxxx/swagger-ui.html
大家看通过经过nginx时会多了一个xxxx,所以就为了解决这个问题,就研究了一下。

解决

  1. pom swagger版本是2.9.2 image.png

  2. 在swaggeer配置类上,顺便继承了WebMvcConfigurer接口,为了修改swagger的静态资源访问路径时,添加了前缀。


由原来的{context-path}/swagger-ui.html变成了context-path}/xxxx/swagger-ui.html,以及其他静态资源。

image.png

  1. 配置好之后,还是不够的,因为页面还需要访问swagger本身提供的接口。主要有4个接口,只要我们去自定义4个接口并且在服务内部转发给swagger的Controller即可。

image.png

最后

大家是不是把最基础的forward和redirect的忘记了!!!哈哈哈,大家可以去复习一下~

forward就是在我们服务内部去进行跳转到另外一个Controller上面。 redirect就是告诉浏览器,然后由浏览器再发起请求到另一个接口上。


不好意思哦,由于代码在内网不好粘贴出来,就上图片了,辛苦啦😍