我目前已经实现了 Swagger,并且我注意到资源的基本 url 在 JSON 资源文件中是硬编码的,理想情况下,我想让用户能够更改不同 json 动词的基本 url。因此,例如,让他们能够在同一页面上提交来自一个环境的 get 和来自另一个环境的 put,因为我正在使用多个环境,否则他们必须在每个资源中更改 JSON他们想使用新环境的时候。有谁知道这是否可能?
问问题
15187 次
2 回答
3
这是可能的,我通过以下方式实现:
在 swaggerui 中,我通过 javascript 获取 url 以编程方式声明我的 url:
// Get the url:
theUrl = window.location.protocol+"//" + window.location.host+"/docs";
window.swaggerUi = new SwaggerUi({
url: theUrl,..other parameters...})
在我声明资源的 json 文件中,我只是将我的基本路径声明为“/”,如下所示:
{
"apiVersion": "1.0.0",
"swaggerVersion": "1.2",
"basePath": "/",
"resourcePath": "/api/myapi".......
希望有帮助!
于 2014-09-23T06:20:01.210 回答
1
要动态更改目标服务器(发送 REST 请求的位置)的主机名(并覆盖 JSON 文件中的值):
$.each(window.swaggerUi.api.apis, function(key, val) {
window.swaggerUi.api.apis[key].basePath = "http://target:port";
});
于 2015-05-28T07:16:46.083 回答