Swagger ファイル オブジェクトで日付を宣言する正しい方法は何ですか? 次のようになると思います:
startDate:
type: string
description: Start date
example: "2017-01-01"
format: date
しかし、次のような宣言をよく見かけます。
startDate:
type: string
description: Start date
example: "2017-01-01"
format: date
pattern: "YYYY-MM-DD"
minLength: 0
maxLength: 10
ベストアンサー1
のOpenAPI仕様次のように使用する必要があると述べています。
type: string
format: date # or date-time
OpenAPIで使用されるインターネットの日付/時刻標準は、RFC 3339、セクション 5.6(事実上 ISO 8601) および例はセクション 5.8 に示されています。したがって、 のdate
値は「2018-03-20」のようになり、 の値はdate-time
「2018-03-20T09:12:28Z」のようになります。したがって、date
または を使用する場合はdate-time
、 をpattern
省略する必要があります。
RFC 3339とは異なる形式で日付/時刻をサポートする必要がある場合は、ないパラメータをformat: date
またはとして指定できますformat: date-time
。代わりに、type: string
適切な を指定しpattern
て を削除する必要がありますformat
。
最後に、pattern
の は"YYYY-MM-DD"
仕様によれば無効であることに注意してください。pattern
は である必要があります。正規表現プレースホルダーやフォーマット文字列ではありません。