6

我目前已经实现了 Swagger,并且我注意到资源的基本 url 在 JSON 资源文件中是硬编码的,理想情况下,我想让用户能够更改不同 json 动词的基本 url。因此,例如,让他们能够在同一页面上提交来自一个环境的 get 和来自另一个环境的 put,因为我正在使用多个环境,否则他们必须在每个资源中更改 JSON他们想使用新环境的时候。有谁知道这是否可能?

4

2 回答 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 回答