0

我正在尝试更新调用 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 Management 目前支持 1.2 和 2.0 版本的 Swagger 文档进行导入。确保即使 Swagger 2.0 规范声明 host、basePath 和 scheme 属性是可选的,您的 Swagger 2.0 文档也必须包含这些属性;否则它不会被导入。

我究竟做错了什么?

4

1 回答 1

0

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

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

  "schemes" : {
"https"
}

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

   "parameters" :  [{

"in":"body"

},
//invalid
{
"in":"body"
}]

  1. 在生成的 swagger 文件中,查询参数不会有参数定义。所以将参数定义添加到参数数组中。通过在属性中指定路径。

"parameters" : [{

"in":"param"

},
{

"in":"param"

}]

于 2018-01-10T10:45:05.850 回答