首页 文章

Swagger中的多个项目的数组

提问于
浏览
2

所以我正在创建一个带有nodejs的用户 endpoints 来将用户添加到数据库中,而对于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编辑器中显示我想要的东西
enter image description here

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

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

1 回答

  • 1

    您使用的是什么版本的Swagger UI?我在版本2.1.1上,当我输入与你相同的定义时,我得到一个数组字段的以下输入框 .

    swagger array parameter

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

    此外,如果您将“in”字段更新为“query”,则生成的URL将如下所示:

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

    然后,您可以访问URL参数中的数组值,而不是“formData”中的数组值 .

相关问题