Gemäß den AWS-Dokumenten unterstützen Modelle in API Gateway die JSON-Schemasyntax. Sie werden jedoch als Swagger-OpenAPI-Spezifikationen exportiert, wobei die Swagger-Spezifikation viele gültige JSON-Schema-Strukturen nicht vollständig unterstützt.Wie deklarieren Sie mehrere Typen einer Eigenschaft im API-Gateway-Modell mit JSON Schema und Swagger?
Ich würde mein API-Gateway-Modell wie eine Reihe von optionalen Textfeldern zu haben, zum Beispiel message
, aber wenn sie als
{
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
}
und mit Körperüberprüfung aktivierte definiert ist, lehnt sie dieses Modell Wenn die Nachricht eine leere Zeichenfolge ist oder fehlt. Es tut das, obwohl message
nicht in der Liste der erforderlichen Felder
"required": [
"message"
],
Graben um enthalten ist, fand ich, dass leer/null String-Werte zu ermöglichen, eine einen null
Typ in die Liste der Immobilienarten hinzufügen müssen, zB :
{
"type": ["null", "string"]
}
Dies ist jedoch immer noch nicht funktioniert mit API-Gateway, noch exportiert richtig als YAML Swagger spec.
Gibt es eine Möglichkeit, dies mit API Gateway und Swagger zu lösen?
'" type ": [" null "," string "]' ist in OpenAPI/Swagger 2.0 nicht gültig, da es nicht mehrere Typen und 'null' als Typ unterstützt. 'Nullable' wird in der nächsten Version, OpenAI 3.0, unterstützt. (Dies wurde zuvor gefragt, ich werde versuchen, doppelte Fragen zu finden ...) Nicht sicher über den API-Gateway-Teil obwohl. – Helen
danke, das ist ein wertvoller Input! – jaccus