Swagger 中的多个项目数组

Array of Multiple items in Swagger

因此,我正在使用 nodejs 创建一个用户端点以将用户添加到数据库中,并且对于 api 文档,我正在使用 swagger 编辑器,我对它完全陌生。 我想要做的是添加一个具有登录名、密码、头像的用户,但该用户有多个角色,我想添加到数据库中 我在 swagger 编辑器的 yaml 文档中所做的是这个

/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 编辑器中显示我想要的内容

但我在 UI 中得到的只是一个输入字段

总而言之,我想要得到的是一个输入数组,其中包含用户角色并将它们输入到数据库中。 谢谢

您使用的是哪个版本的 Swagger UI?我使用的是 2.1.1 版,当我输入与您相同的定义时,我得到以下数组字段输入框。

尝试升级到最新版本的 Swagger UI。

此外,如果您将 "in" 字段更新为 "query",结果 URL 将如下所示:

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

然后您可以访问 URL 参数中的数组值,而不是 "formData"。