Swagger schicken Sie Körper und formData-parameter
Ich bin mit Swagger 2.0 und ich habe ein problem senden mehrere post-Parameter. Ich habe einen Fors Fehler Operation cannot have a body parameter and a formData parameter
und ich weiß nicht, wie es zu lösen ist. In meiner definition habe ich eine Körper-parameter, und diese parameter muss ein JSON-format, aber eine Seite muss ich andere parameter, wie z.B. Dateien hochladen und mit dem Namen.
Wie kann ich tun, schicken Sie Körper und formData-Parameter ?
Hier ist die web-service definition :
/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
- Möglich, Duplikat der In Stolzieren, wie Sie definieren eine API, die verbraucht eine Datei zusammen mit einer schema-parameter?
- Meine Frage ist älter als dieser post...
- Dass man älter ist eigentlich (ab 2015).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entsprechend der swagger Spezifikationen sehen,
type:body
undtype:formData
können nicht zusammen bestehen für die gleiche operation.Einen Weg, um das problem zu beheben ist, um "Daten" als Formular-parameter mit dem Typ "Datei". Hier ist ein Beispiel:
Ref: https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/test/resources/2_0/petstore.yaml#L257
UPDATE: Körper-Parameter und die Parameter form, können nicht co-existieren: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#parameterObject
Körper - Die Nutzlast, die an den HTTP-request. Da kann es nur einen payload, es kann nur einen Text-parameter. Der name des body-Parameters hat keine Auswirkung auf den parameter selbst und dient der Dokumentation. Da die Parameter Form, sind auch in der Nutzlast, Körper und form-Parameter können nicht zusammen bestehen für die gleiche operation.