我们的服务有两个实例。 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。
答案 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');
}
}
也可以覆盖主机(顺便说一句,这就是我一直在寻找的主机)。