Как добавить несколько значений в качестве примера в свойствах чванства?

Я использую инструмент Swagger OpenAPI Specification, у меня есть свойство массива строк в одном из следующих определений:

cities:
        type: array
        items:
          type: string
          example: "Pune"

Мой API создает результат JSON, поэтому для указанного выше объекта в ответе появляется следующий результат:

{
  "cities": [
    "Pune"
  ]
}

Пробовал строки, разделенные запятыми, как показано ниже:

cities:
            type: array
            items:
              type: string
              example: "Pune", "Mumbai", "Bangaluru"

Ожидаем результата как:

{
      "cities": [
        "Pune",
        "Mumbai",
        "Bangaluru"
      ]
    }

Но редактор показывает ошибку. «Плохой отступ»

Я хочу дать несколько значений тегу примера, есть ли способ?

Обновить

Пользователь Хелен ниже дал правильный ответ. У меня была проблема с отступом, поэтому были вложенные массивы (2d-массивы)

Правильный способ :

cities:
        type: array
        items:
          type: string
        example: 
        - Pune
        - Mumbai

Мой путь (что было неправильно)

cities:
        type: array
        items:
          type: string
          example: 
          - Pune
          - Mumbai

Ищите отступ тега example в двух вышеупомянутых случаях, который имеет значение. Его отступ YAML имеет значение.


person Prashant    schedule 05.10.2017    source источник


Ответы (2)


Чтобы отобразить пример массива с несколькими элементами, добавьте example на уровне массива вместо уровня элемента:

cities:
  type: array
  items:
    type: string
  example:
    - Pune
    - Mumbai
    - Bangaluru

  # or
  # example: [Pune, Mumbai, Bangaluru]
person Helen    schedule 05.10.2017
comment
решение, которое вы дали, выводит города: [[Пуна, Мумбаи]] это, это два вложенных массива, которые мне не нужны. Я хочу, чтобы один массив содержал эти имена как элементы массива, а не как новые массивы. Спасибо за ответ - person Prashant; 05.10.2017
comment
Где вы видите вложенные массивы? Он отлично работает в редакторе Swagger: i.stack.imgur.com/uT85I.png - person Helen; 05.10.2017
comment
Привет, спасибо, Хелен, проблема была в отступе, см. Обновленный вопрос. - person Prashant; 05.10.2017
comment
@Prashant прав, этот подход отображается как массив (как редактор Swagger, так и пользовательский интерфейс Swagger). Есть вариант examples, но до сих пор не ясно, как его использовать в components/schemas. См. viralpatel.net/openapi-multiple-examples и swagger.io/docs/specification/adding-examples. - person Dmitriy Popov; 28.12.2020

Для версии openapi - 3.0.0+

  major:
      type: array
      items:
        type: string
        enum:
          - Accounting
          - Business Contacts
          - Economy
          - Finance
          - Graphic Design
          - International Business Administration
          - International Relations
          - Law
          - Marketing
          - others
          - Political Science
          - Statistics
person Nishant Shah    schedule 11.03.2020
comment
Вопрос не в этом. Ваш ответ показывает массив перечисления, тогда как вопрос заключается в том, чтобы задать вопрос, как указать многозначный массив в качестве примерного значения для схемы массива. - person Helen; 04.05.2020