在swagger UI

时间:2017-05-25 07:45:23

标签: swagger swagger-ui

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

我们部署了一个Swagger UI instanze,并将url更改为fetch ... / betabazaar / swagger.json。但是,当我使用"尝试"所有请求都转到... / bazaar / ...

我假设Swagger使用@ServicePath参数来填充路径。对于这两个实例,@ ServicePath是/ bazaar。我们的Nginx代理服务器完成了将... / betabazaar / ...的所有请求发送到beta实例的工作。

我可以更改Swagger UI用于&#34的URL吗?试试看"在Swagger UI中请求?或者我需要更改Java中的@ServicePath吗?

我已经玩过window.swaggerUi.setBasePath(' / betabazaar');但这导致Swagger UI尝试首先获取http://example.com/api

2 个答案:

答案 0 :(得分:1)

正确的电话是

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

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

答案 1 :(得分:0)

您可以通过调用onComplete来在setBasePath方法中覆盖basePath:

window.swaggerUi = new SwaggerUi({
  ...
  onComplete: function(swaggerApi, swaggerUi) {
    swaggerApi.setBasePath('/betabazaar')

    // Alternatively
    swaggerUi.api.setBasePath('/betabazaar')

    // Also this is possible
    window.swaggerUi.api.setBasePath('/betabazaar');
  }
}

也可以覆盖主机(顺便说一句,这就是我一直在寻找的主机)。