OpenAPI / Swaggerファイルで日付を宣言する正しい方法は何ですか? 質問する

OpenAPI / Swaggerファイルで日付を宣言する正しい方法は何ですか? 質問する

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は である必要があります。正規表現プレースホルダーやフォーマット文字列ではありません。

おすすめ記事