Массив из нескольких элементов в Swagger


Итак, я создаю конечную точку пользователя с помощью nodejs, чтобы добавить пользователя в базу данных, а для документации api я использую редактор swagger, и я совершенно новичок в нем. что я хочу сделать, так это Добавить пользователя с логином, паролем, Аватаром, но у этого пользователя есть несколько ролей, которые я хочу добавить в базу данных то, что я сделал в документе yaml в Редакторе swagger, это

/users/add:
post:
description: ''
operationId: AddUser
parameters:
- description: The user login
  in: formData
  name: user
  required: true
  type: string
- description: The user password
  in: formData
  name: password
  required: true
  type: string
- description: The user name
  in: formData
  name: username
  required: true
  type: string
- description: The user avatar
  in: formData
  name: avatar
  required: true
  type: file
- in: formData
  name: roles
  description: roles
  required: false
  type: array
  items:
    type: string
    collectionFormat: multi

И это своего рода отображение того, что я хочу в Редакторе swagger Введите описание изображения здесь

Но то, во что я ввязываюсь пользовательский интерфейс-это просто поле ввода Введите описание изображения здесь

В заключение я хочу получить введенный массив, который содержит роли пользователей и вводит их в базу данных. Спасибо

1 2

1 ответ:

Какую версию Swagger UI вы используете? Я нахожусь на версии 2.1.1, и когда я ставлю то же определение, что и вы, я получаю следующее поле ввода для поля массива.

параметр массива swagger

Попробуйте обновить до последней версии Swagger UI.

Кроме того, если вы измените поле " in " на "query", результирующий URL-адрес будет выглядеть следующим образом:

http://localhost:8080/accounts?roles=admin%2Cguest%2Cuser

Затем вы можете получить доступ к значениям массива в параметрах URL, а не в"formData".