Swagger 2.0 - wie man "die ein oder andere" parameter erforderlich?
Habe ich ein swagger 2.0 resource unten definiert. Wie kann ich machen "param1 oder param2" erforderlich? Anrufer passieren, entweder param1 oder param2.
/some/res:
put:
summary: some resource
responses:
200:
description: Successful response
schema:
$ref: '#/definitions/SomeResponse'
parameters:
- name: param1
type: string
description: param1
in: formData
required: false
- name: param2
type: string
description: param2
in: formData
required: false
Verwandte (oder duplizieren): Wie definieren sich gegenseitig ausschließende query-Parameter in Fors (Open API)?
InformationsquelleAutor Vineet Bhatia | 2015-04-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Open API (fka Swagger) Spezifikation unterstützt keine bedingte oder sich gegenseitig ausschließende Parameter (beliebigen Typs).
Gibt es einen offenen feature request:
Unterstützung Interdependenzen zwischen der query-Parameter
InformationsquelleAutor Ron
In der Parameter-Abhängigkeiten Abschnitt der Beschreibung Parameter Swagger docs:
Juni 2017, das Problem hatte 21 upvotes, damit der Dritte die meisten von Ihnen positiv bewertet werden Thema im Projekt.
InformationsquelleAutor Trenton
Fors-Spezifikation nicht unterstützen die bedingte Anforderung oder Inklusion/Exklusion von Parametern.
Was würde ich vorschlagen, ist, deutlich zu machen, in der Beschreibung der Regeln für die Aufnahme/Ausschluss von query-Parametern. Dann mit einem Validierungs-framework, das hängt davon ab, Ihre Sprache (z.B. javax.Validierung für Java, restify-Validierung für restify, etc.), überprüfen Sie die Parameter entsprechend.
InformationsquelleAutor Gene Ames
Den spezifischen Szenario in dieser Frage – eine POST/PUT/PATCH-Anforderung mit Formular-Daten, die Körper, die entweder enthält
param1
oderparam2
– kann definiert werden über Open API 3.0 undoneOf
:Hinweis für Swagger-UI-Nutzer: form-data UI und Beispiel-rendering für
oneOf
schemas nicht verfügbar sind für Open API 3.0-Definitionen noch.oneOf
gegen den query-Parameter anstelle von body-schema? Ich denke, dies wird noch nicht unterstützt?Ich bin mir nicht sicher, es ist schwer zu sagen, ohne zu sehen, die eigentliche spec. Wenn etwas nicht funktioniert in Swagger UI, ich würde vorschlagen, dass Sie die Datei ein Problem ist hier: github.com/swagger-api/swagger-ui/issues
InformationsquelleAutor Helen