不对外暴露接口
一般来说,接口给内部人员使用和测试的,不对生产环境暴露。此时应该如何设置呢?可以在Swagger配置文件中添加注解:
@Profile({"环境名称1","环境名称2"} 或@Profile("环境名称")
这里,注解中不添加生产环境。
此时,开发环境和测试环境都可查看。理论上,应该不可查看到api,但我看到了未设置分组的所有接口o(╥﹏╥)。可能swagger2和swagger3方法不同。
这里,我在生产环境的配置文件(application-prod.yml)文件设置了swagger-ui不显示
# 不显示swagger-ui
springfox:documentation:swagger-ui:enabled: false
此时,我们的生产环境成功屏蔽了swagger。
修改默认Swagger地址
默认的Swagger地址为 {url:port}/swagger-ui/index.html 。
Swagger2:配置文件添加 server.contextPath=/swagger2,此时Swagger的地址为:{url:port}/swagger2/swagger-ui/index.html
Swagger3: 配置文件(application.yml)添加地址
springfox:documentation:swagger-ui:base-url: /swagger-ui.html
此时,Swagger的访问地址为:{url:port}/swagger-ui/index.html