プロパティの1つがstring
またはnull
として定義されているJSONスキーマファイルがあります。
"type":["string", "null"]
(OpenAPI/Swaggerで使用するために)YAMLに変換されると、次のようになります。
type:
- 'null'
- string
ただし、Swagger Editorにはエラーが表示されます。
スキーマの「タイプ」キーは文字列でなければなりません
OpenAPIでnull許容プロパティを定義する正しい方法は何ですか?
type
型の配列として
type:
- string
- 'null'
openAPI/SwaggerではNOT validです(JSONスキーマでは有効ですが)。 OpenAPIのtype
キーワードには単一の型が必要であり、型の配列にすることはできません。
null
のサポートは、使用するOpenAPIのバージョンによって異なります。
OpenAPI 3.0で、 nullable
キーワードを使用して、null許容型を定義します。
type: string
nullable: true # <----
OpenAPI 2.0はデータ型としてnull
をサポートしていないため、2.0を使用する場合は運がありません。使用できるのはtype: string
のみです。ただし、一部のツールは、ヌルがOpenAPI 2.0仕様の一部ではない場合でも、ベンダー拡張としてx-nullable: true
をサポートしています。