Подтвержденный Open API spe c не удается загрузить на Azure API Management - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь импортировать спецификации OpenAPI json, в значительной степени похожие на https://github.com/ccouzens/keycloak-openapi/blob/master/keycloak/9.0.json в моей azure службе управления API. Я проверил свою версию openapi. json на http://editor.swagger.io/. Когда я пытаюсь создать ресурсы API с использованием вышеуказанного json, я получаю сообщение об ошибке:

{"error":{"code":"ValidationError","message":"One or more fields contain incorrect values:","details":[{"code":"ValidationError","target":"templateParameters","message":"All template parameters used in the UriTemplate must be defined in the Operation, and vice-versa."}]}}

, пожалуйста, помогите

1 Ответ

2 голосов
/ 26 февраля 2020

Найдена проблема. json API spe c file имеет несколько URL-адресов API с {id}, встречающимися дважды в одном и том же URL-адресе, что не разрешено в управлении azure API, и параметра "нет" "определение двух параметров пути. Например, см. Ниже URL и соответствующее определение параметра в файле API c file

/{realm}/client-scopes/{id}/protocol-mappers/models/{id}

 "parameters": [
        {
          "in": "path",
          "name": "realm",
          "description": "realm name (not id!)",
          "required": true,
          "schema": {
            "type": "string"
          },
          "style": "simple"
        },
        {
          "in": "path",
          "name": "id",
          "description": "Mapper id",
          "required": true,
          "schema": {
            "type": "string"
          },
          "style": "simple"
        }
      ]

редактор swagger не учитывает эти нарушения ограничений

Итак, для подведения итогов, для загрузки открытых API spe c в Azure сервис управления API, необходимо учитывать следующие ограничения наряду с теми, которые присутствуют в azure документы

  1. вы не можете иметь два параметра пути с одинаковой идентификационной строкой
  2. все параметры пути должны иметь определение "параметра" в спецификации c json

PS: Мои параметры API c json были в значительной степени похожи на json файл , но не совпадали. У него есть другие проблемы, такие как удаление API с телом запроса.

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