Swagger envoyer le corps et l'formData paramètre
Je suis en utilisant Swagger 2.0 et j'ai un problème pour envoyer plusieurs paramètres post. J'ai un swagger erreur Operation cannot have a body parameter and a formData parameter
et je ne sais pas comment le résoudre. Dans ma définition, j'ai un corps de paramètre et de ce paramètre besoin d'un format JSON, mais d'un côté j'ai d'autres paramètres comme les fichiers à télécharger et un nom de fichier.
Comment puis-je faire pour envoyer le corps et l'formData paramètres à la fois ?
Ici est la définition de service web :
/updateDatas:
post:
summary: Upadate datas
description: |
Update datas
consumes:
- multipart/form-data
produces:
- application/json
parameters:
- name: firstFileName
in: formData
description: First file name.
required: true
type: string
- name: secondFileName
in: formData
description: Second file name.
required: true
type: string
- name: datas
in: body
description: Json object informations.
required: true
schema:
$ref: '#/definitions/Datas'
- name: firstFile
in: formData
description: First file .jpg
required: true
type: file
- name: clientFile
in: formData
description: Second file .jpg
required: true
type: file
tags:
- Application
responses:
'200':
description: Uploaded
schema:
$ref: '#/definitions/Upload'
'401':
description: Unauthorized Bad Token
Double Possible de Dans Swagger, comment définir une API qui consomme un fichier avec un schéma de paramètre?
Ma question est âgé de plus de ce post...
Que l'on est plus âgé (à partir de 2015).
Ma question est âgé de plus de ce post...
Que l'on est plus âgé (à partir de 2015).
OriginalL'auteur John | 2016-04-26
Vous devez vous connecter pour publier un commentaire.
Selon la swagger spécifications voir,
type:body
ettype:formData
ne peuvent pas exister ensemble pour la même opération.OriginalL'auteur aK26
Une façon de résoudre le problème est de définir des "datas" comme paramètre de formulaire avec le type "fichier". Voici un exemple:
Ref: https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/test/resources/2_0/petstore.yaml#L257
Mise à JOUR: corps de paramètres et les paramètres de formulaire ne peuvent pas co-exister: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#parameterObject
Corps - La charge utile qui est annexé à la requête HTTP. Depuis il ne peut être une charge, il ne peut y avoir qu'un seul corps paramètre. Le nom de l'organisme paramètre n'a aucun effet sur le paramètre lui-même et est utilisé à des fins de documentation. Depuis les paramètres de Formulaire sont également à la charge, du corps et de la forme des paramètres ne peuvent pas exister ensemble pour la même opération.
Merci!!!!, mais que faire si additionalMetadata est une référence à une définition?
Pouvez-vous donner un exemple de ce que la requête HTTP du corps/charge utile ressemble (par exemple à l'aide de gist.github.com)?
Donc, la conclusion finale est que, nous ne pouvons pas utiliser à la fois le corps et l'formdata dans la même forme. Droit?
Oui, c'est exact, selon la spécification.
OriginalL'auteur William Cheng