Параметры шаблона управления API Azure, используемые в UriTemplate, должны быть определены в Операции, и наоборот - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть ряд функций Azure, которые я хотел бы сейчас поставить перед Azure API Management.

Я импортировал все функции из 2 или 3 других моих приложений-функций в свою учетную запись снет проблем, но у меня проблемы с одним из приложений-функций.Это функциональное приложение имеет 6 функций, 3 из которых я могу импортировать нормально, если выберу именно.Что-то в трех других функциях выдает ошибку:

All template parameters used in the UriTemplate must be defined in the Operation, and vice-versa.

Вот соответствующая часть моего документа API Swagger, созданного самой функцией Azure:

    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: []

Просматривая это, я убедился, что все элементы в параметрах находятся в путях.Я не уверен, что здесь чего-то не хватает, но, посмотрев в интернете, я мало что понял по этому вопросу.

1 Ответ

0 голосов
/ 12 сентября 2018

Обновление (01.10.18): проблема исправлена. Очистить кеш браузера, если он все еще воспроизводим.

В настоящий момент при импорте приложения функции не используется спецификация OpenAPI, которую вы определили для приложения функции. Вместо этого он напрямую использует определение FunctionApp. Проблема вызвана тем, что у ваших функций есть маршруты с параметрами, например / route / {param}. Это будет исправлено в ближайшее время.

Это должно работать сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...