Как указать текст элемента XML по умолчанию в OpenAPI (Swagger)? - PullRequest
0 голосов
/ 13 января 2019

Я создаю определение OpenAPI (Swagger) 2.0 для следующей полезной нагрузки XML для использования в интерфейсе Swagger:

<addressElement>
    <key type="RECORD_ID" item="3">Enter value here</key>
</addressElement>

У меня проблема с выяснением способа отображения значения по умолчанию «Введите значение здесь» для элемента key. Где можно разместить это значение по умолчанию в определении OpenAPI? Мое определение выглядит так:

    "definitions": {
     "addressElement": {
      "type": "object",
      "title": "Address Element",
      "properties": {
        "key": {
          "type": "object",
          "properties": {
          "type":{
            "type": "string",
            "example": "RECORD_ID",
            "xml":{
              "attribute": true
            }
          },
          "item":{
            "type": "integer",
            "format": "int64",
            "example": "3",
            "xml":{
              "attribute": true
            }
          }
        }
      },
    },
    "xml": {
      "name": "addressElement"
    }
  }
 }

1 Ответ

0 голосов
/ 14 января 2019

В настоящее время это невозможно, поскольку в OpenAPI нет способа представления элементов XML с такими атрибутами, как

<key type="RECORD_ID" item="3">Enter value here</key>

Атрибуты могут быть определены только для объектов

<obj attr="value">
  <elem>Some text</elem>
</obj>

, но не для простых <elem>text</elem> элементов.

Здесь есть открытый вопрос об этом ограничении:
Как представить элементы XML с атрибутами

Тем не менее, сопровождающие спецификации OpenAPI рассматривают возможность использования альтернативных схем моделирования данных (таких как схема XSD), поэтому ваш вариант использования может быть поддержан в будущей версии OpenAPI.

...