我有许多Azure功能,现在我想将Azure API管理放在前面。
我已经从我的帐户中的其他2个或3个功能应用程序导入了所有功能,没有问题,但是其中一个功能应用程序出现了问题。该功能应用程序具有6个功能,如果我选择了其中的一个,则可以导入其中3个功能。其他3个函数中的某些错误引发错误:
All template parameters used in the UriTemplate must be defined in the Operation, and vice-versa.
以下是由Azure函数本身创建的Swagger api文档的相关部分:
paths:
'/api/api-keys/{customerId}':
delete:
operationId: '/api/api-keys/{customerId}/delete'
produces: []
consumes: []
parameters:
- name: customerId
in: path
required: true
type: string
description: >-
Replace with Operation Object
#http://swagger.io/specification/#operationObject
responses:
'200':
description: Success operation
security:
- apikeyQuery: []
'/api/api-keys/{customerId}/{apiKeyId}':
delete:
operationId: '/api/api-keys/{customerId}/{apiKeyId}/delete'
produces: []
consumes: []
parameters:
- name: customerId
in: path
required: true
type: string
- name: apiKeyId
in: path
required: true
type: string
description: >-
Replace with Operation Object
#http://swagger.io/specification/#operationObject
responses:
'200':
description: Success operation
security:
- apikeyQuery: []
'/api/password-hashes/{customerId}/{prefix}':
get:
operationId: '/api/hashes/{customerId}/{prefix}/get'
produces: []
consumes: []
parameters:
- name: customerId
in: path
required: true
type: string
- name: prefix
in: path
required: true
type: string
description: >-
Replace with Operation Object
#http://swagger.io/specification/#operationObject
responses:
'200':
description: Success operation
security:
- apikeyQuery: []
通过检查,我已经验证了参数中的所有项目都在路径中。我不确定在这里是否缺少任何内容,但是在Internet上环顾四周,我对这个问题的了解并不多。
答案 0 :(得分:0)
更新(10/1/18):该问题已修复。如果仍可重现,请清除浏览器缓存。
目前,Function App导入完全不使用为Function App定义的OpenAPI规范。相反,它直接使用FunctionApp定义。该问题是由于您的函数具有带有参数的路由,例如/ route / {param}。这将很快修复。
现在应该可以使用。
答案 1 :(得分:0)
打开api规范中有一个未定义的参数。
由于Azure不会为您提供更多详细信息,因此可以使用swagger editor来验证您的规范。 编辑器将为您提供详细的错误消息: