Angesichts der folgenden OpenAPI-Definition, welche der folgenden Objekte gültig sind. Nur 1. oder 1. und 2.?Was bedeutet "erforderlich" in OpenAPI wirklich
Person:
required:
- id
type: object
properties:
id:
type: string
{"id": ""}
{"id": null}
{}
Dies läuft auf die Frage hinaus, ob "required = true" bedeutet "nicht-null Wert" oder "Eigenschaft muss anwesend sein".
Der Validator JSON Schema bei https://json-schema-validator.herokuapp.com/ sagt, dass 2. ungültig, da null
nicht die type: string
Einschränkung nicht erfüllt. Beachten Sie, dass es sich nicht beschwert, da id
null ist, aber weil null
keine Zeichenfolge ist. ABER Wie relevant ist das für OpenAPI/Swagger?
Große Antwort, danke. Nicht der Fehler, dass die JSON-Schemaspezifikation nicht gut mit dem JavaScript/JSON-Konzept von "null" übereinstimmt. –
@ MarcelStör JSON-Schema hat den Typ "null", und ein Nullable-Schema kann als '{" type "definiert werden: [" string "," null "]}'. OpenAPI unterstützt jedoch nicht "type: null" und verwendet stattdessen das Attribut "nullable". – Helen