【问题标题】:YYYYMMDD Date format on yaml definitionYYYYMMDD yaml 定义上的日期格式
【发布时间】:2019-08-14 14:16:47
【问题描述】:

我有一个要求,要求以 YYYYMMDD 格式传递日期。基于 swagger 文档,在字符串类型下定义的日期字段。但是,它遵循 RFC 3339,第 5.6 节,文档(ex.2018-03-20 作为格式)

以下代码不适用于 yaml。

dateOfBirth:
          type: string
          minLength: 8
          maxLength: 8
          format: date
          example: 19000101
          description: Birth date of the  member in YYYYMMDD format.

如何为 YYYYMMDD 的日期格式定义 YAML 定义。

【问题讨论】:

  • 它到底是怎么不起作用的?您期望什么结果,实际结果是什么?

标签: rest swagger openapi


【解决方案1】:

根据type string 的文档,您可以添加regex pattern 来定义日期格式YYYYMMDD:

模式:'^\d{4}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01]) $'

另外,我建议您将示例日期格式更新为 20190317 之类的日期,以便轻松理解预期的日期格式。

definitions:
  Pet:
    type: object
    required:
      - id
      - name
    properties:
      id:
        type: integer
        format: int64
      name:
        type: string
      tag:
        type: string
      dateOfBirth:
        type: string
        minLength: 8
        maxLength: 8
        format: date
        pattern: '^\d{4}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])$'
        example: 20190816
        description: Birth date of the  member in YYYYMMDD format.

【讨论】:

    猜你喜欢
    • 2017-05-12
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    相关资源
    最近更新 更多