Swagger UI parameter as list instead of text input

Обновить

November 2018

Просмотры

8.2k раз

2

Я пытаюсь выяснить, как сделать Swagger UI показать список допустимых значений вместо поля ввода.

До сих пор я был в состоянии заставить себя очень путать с различными версиями Swagger, и документы. Я не уверен, что есть что (1,2, 2,0, YAML, JSON ...)

До сих пор, это то, что я знаю:

  1. Существует некоторая команда называется , allowableValuesно, насколько я понимаю, это не доступно в Swagger 2.0
  2. Я нашел enumкоманду, но не смог заставить его работать на меня.
  3. Я не уверен , если я должен определить этот список допустимых значений в parametersразделе или definitionsраздел
  4. Я нашел PetStore пример , где у него есть поле выбора , как я хочу (GET / ПЭТ / findByTags), но, насколько я мог видеть в «сыром» формате JSON, это выглядит как старый формат Swagger.

Наконец, вот код , который я пытался в этом редакторе Swagger :

swagger: '2.0'
host: asd.com
schemes:
  - http
info:
  version: "1.0.0"
  title: test

paths:
  /users:
    get:
      parameters:
        - name: status
          in: query
          type: string
          enum:
            - online
            - offline

      responses:
        "200":
          description: Nice

1 ответы

2

Форс 2,0 был выпущен несколько месяцев назад, и инструменты вокруг него постепенно добавить поддержку для самой спецификации.

Сам формат спецификации в формате JSON, но инструмент редактор (который является новым в версии 2.0) позволяет использовать YAML для редактирования более удобочитаемом.

  1. Я не знаю , где вы получили allowableValues- это не часть Swagger 1.2 , ни 2.0.
  2. enum действительно имя свойства использовать для ограничения поля для конкретных значений.
  3. parametersиспользуются для определения параметров работы (путь, запрос, заголовок, тело и FormData). definitionsиспользуются для объектов схемы, которые обычно модель , используемой API , но может также представлять массивы и примитивы. enumможет быть использован рядом с любым примитивным типом , чтобы ограничить его определение, является ли внутри определения параметра или определения объекта схемы.
  4. В настоящее время Форс 2,0 зоомагазин пример находится здесь - http://petstore.swagger.wordnik.com/ui . На момент написания этого ответа, нет никакого использования enumв этом образце.

Что касается просмотра ограниченных значений в развязности-интерфейсе, для Swagger 2.0 это просто еще не реализовано. Как уже упоминалось выше, он все еще в стадии разработки . Вы можете открыть вопрос об этом непосредственно на хранилище .

С точки зрения достоверности, то YAML вставили выше выглядит нормально.

Ron