覆盖swagger UI中的基本url

覆盖swagger UI中的基本url,swagger,swagger-ui,Swagger,Swagger Ui,我们的服务有两个实例。Live是可操作的,有URL…/bazaar,beta版用于公共测试,有URL…/betabazaar 我们部署了一个Swagger UI实例,并将url更改为fetch…/betabazaar/Swagger.json。但当我使用“试用”时,所有请求都会转到…/bazaar/ 我假设Swagger使用@ServicePath参数填充路径。对于这两种情况,@ServicePath都是/bazaar。我们的Nginx代理服务器负责发送对…/betabazaar/…的所有请求。

我们的服务有两个实例。Live是可操作的,有URL…/bazaar,beta版用于公共测试,有URL…/betabazaar

我们部署了一个Swagger UI实例,并将url更改为fetch…/betabazaar/Swagger.json。但当我使用“试用”时,所有请求都会转到…/bazaar/

我假设Swagger使用@ServicePath参数填充路径。对于这两种情况,@ServicePath都是/bazaar。我们的Nginx代理服务器负责发送对…/betabazaar/…的所有请求。。。到测试版实例

那么,我可以在Swagger UI中更改用于“试用”请求的URL Swagger UI吗?或者我需要在Java中更改@ServicePath吗

我已经玩过window.swaggerUi.setBasePath('/betabazar');但这会导致一开始就有一个大摇大摆的用户界面试图获取信息。

正确的调用是

window.swaggerUi.setBasePath('/betabazaar');

并且需要在onComplete回调中调用。

您可以通过调用
setBasePath
覆盖
onComplete
方法中的基本路径:

window.swaggerUi=新的swaggerUi({
...
onComplete:函数(swaggerApi、swaggerUi){
swaggerApi.setBasePath('/betabazaar')
//或者
swaggerUi.api.setBasePath(“/betabazaar”)
//这也是可能的
window.swaggerUi.api.setBasePath('/betabazar');
}
}

它还可以覆盖主机(顺便说一下,这就是我要找的)。

它实际上是
window.swaggerUi.api.setBasePath('/betabazar');