【问题标题】:Calling Azure API mgmt REST API to update swagger API schema调用 Azure API mgmt REST API 来更新 swagger API 架构
【发布时间】:2018-05-01 06:20:55
【问题描述】:

我正在尝试更新调用 Azure API 管理 REST API 的 API 架构,如下所示:

curl -X PUT -H "Content-Type: application/application/vnd.ms-azure-apim.swagger.definitions+json" -d @service-api.swagger.json  -H "Authorization: Bearer $TOKEN" https://management.azure.com/subscriptions/${subID}/resourceGroups/${groupName}/providers/Microsoft.ApiManagement/service/clientnetdev/apis/${apiID}/schemas/${schemaID}?api-version=2017-03-01

我没有从 API 管理中得到任何响应。

.json 文件采用正确的 swagger 格式,编辑器导出,并包含必要的声明:

API 管理目前支持 1.2 和 2.0 版本的 Swagger 进口文件。确保这一点,即使 Swagger 2.0 规范声明主机、basePath 和方案属性是 可选,您的 Swagger 2.0 文档必须包含这些属性; 否则它不会被导入。

我做错了什么?

【问题讨论】:

    标签: json rest api azure api-management


    【解决方案1】:

    请检查您的 json swagger 架构中的以下内容

    1. 在 swagger 文件中,在 tags 属性上方添加 schema 属性。

      "schemes" : {
    "https"
    }

    2.在POST类型的路径配置中,有一个属性集合叫做parameters。在参数数组中,应该只有一个属性为“in”的数据为“body”。

       "parameters" :  [{
    
    "in":"body"
    
    },
    //invalid
    {
    "in":"body"
    }]
    1. 在生成的swagger文件中,查询参数不会有参数定义。所以将参数定义添加到参数数组中。通过在属性中指定路径。

    "parameters" : [{
    
    "in":"param"
    
    },
    {
    
    "in":"param"
    
    }]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 2017-04-09
      • 1970-01-01
      • 1970-01-01
      • 2016-05-05
      • 2012-03-30
      • 2020-11-26
      相关资源
      最近更新 更多