2

そのため、nodejs を使用してユーザー エンドポイントを作成し、データベースにユーザーを追加しています。API ドキュメントについては、swagger エディターを使用しており、まったくの初心者です。私がやりたいのは、 login 、 password 、 avatar を持つユーザーを追加することですが、そのユーザーにはデータベースに追加したい複数の役割があります。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で得ているのは単なる入力フィールドです ここに画像の説明を入力

結論として、私が取得したいのは、ユーザーの役割を含む入力された配列であり、それらをデータベースに入力します。ありがとうございました

4

1 に答える 1

1

使用している Swagger UI のバージョンは何ですか? 私はバージョン 2.1.1 を使用しており、あなたと同じ定義を行うと、配列フィールドに対して次の入力ボックスが表示されます。

swagger 配列パラメータ

Swagger UI の最新バージョンにアップグレードしてみてください。

また、「in」フィールドを「query」に更新すると、結果の URL は次のようになります。

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

その後、「formData」ではなく、URL パラメータで配列値にアクセスできます。

于 2016-02-27T22:57:56.537 に答える