我们使用的是 OpenApi 规范 v1.4.8。我们有负载均衡器 url 和域 url。域 url http://market.place.com/productsservice/swagger-ui.html
和负载均衡器 url 是 http://7649263.path.aws.com/productsservice/swagger- ui.html
.
由于域中存在一些持续的网络问题,我们已转而使用负载平衡器 url 来测试应用程序。当我使用上面的负载均衡器 url 访问 swagger ui 时,我在服务器下拉列表中看到域 URL(没有在任何地方添加它)。因此浏览器地址栏和服务器下拉列表中的 url 是不同的。
由于 Swagger 使用“服务器”下拉列表中的基本 url 来构建测试路径,而我的域无法正常工作,因此我无法从 Swagger UI 发出请求。当使用浏览器中的负载均衡器 url 时,请求可以通过 postman 正常工作。
是否有一些配置可以使服务器下拉 URL 和浏览器 url 基本路径相同?我们要做的是,Servers 下拉菜单需要使用浏览器地址栏中的 url。
最佳答案
可能您有 openapi 3 配置 java 类
。
你应该
new OpenAPI().addServersItem(...)
像这样编辑你的方法。
private String ip="109.162.230.178"; //your ip
private String port="8587"; //your port
// if you have context add this line
private String context="tws"; //your context
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.addServersItem(new Server().url("http://"+ip+":"+port+"/"+context))
...
}
例如我的服务器静态ip是
109.162.230.178
而且我必须使用这个Openapi 3 UI
从 Internet 中本地网络之外的另一台计算机。
关于spring-boot - OpenAPI 规范 3.0 在浏览器和服务器下拉列表中显示不同的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64771055/