如何在 OpenAPI 3.0 中记录 RFC3339 日期时间输入?
How to document RFC3339 date-time input in OpenAPI 3.0?
使用 OpenAPI 3.0,我需要记录如何使用 HTTP POST 向我的 API 端点提供 RFC3339 日期时间 JSON 输入。
示例日期时间格式如下所示:
"2021-06-20T01:02:03+00:00"
参考 Swagger 文档,我尝试了各种方法,包括以下内容:
content:
application/json:
schema:
type: object
properties:
datetime:
type: date
pattern: /([0-9]{4})-(?:[0-9]{2})-([0-9]{2})T([0-9]{2}):(?:[0-9]{2}):(?:[0-9]{2})+(?:[0-9]{2}):(?:[0-9]{2})/
example: "2021-06-20T01:02:03+00:00"
example: "2021-06-20T01:02:03+00:00"
content:
application/json:
schema:
type: object
properties:
datetime:
type: string
description: RFC3339 Datetime to set
format: date-time
example: "2021-06-20T01:02:03+00:00"
都不起作用 - 两者都从浏览器在 Swagger UI 中呈现以下错误:
如何在 OpenAPI 3.0 中正确记录此 RFC3339 DateTime 输入?
您的第二个示例是正确的,并且在 https://editor.swagger.io 中正确呈现 - 如下所示。
第一个示例无效,它会导致渲染错误,因为第二个 example
关键字(datetime
旁边的那个)不应该出现在这个位置。
使用 OpenAPI 3.0,我需要记录如何使用 HTTP POST 向我的 API 端点提供 RFC3339 日期时间 JSON 输入。
示例日期时间格式如下所示:
"2021-06-20T01:02:03+00:00"
参考 Swagger 文档,我尝试了各种方法,包括以下内容:
content:
application/json:
schema:
type: object
properties:
datetime:
type: date
pattern: /([0-9]{4})-(?:[0-9]{2})-([0-9]{2})T([0-9]{2}):(?:[0-9]{2}):(?:[0-9]{2})+(?:[0-9]{2}):(?:[0-9]{2})/
example: "2021-06-20T01:02:03+00:00"
example: "2021-06-20T01:02:03+00:00"
content:
application/json:
schema:
type: object
properties:
datetime:
type: string
description: RFC3339 Datetime to set
format: date-time
example: "2021-06-20T01:02:03+00:00"
都不起作用 - 两者都从浏览器在 Swagger UI 中呈现以下错误:
如何在 OpenAPI 3.0 中正确记录此 RFC3339 DateTime 输入?
您的第二个示例是正确的,并且在 https://editor.swagger.io 中正确呈现 - 如下所示。
第一个示例无效,它会导致渲染错误,因为第二个 example
关键字(datetime
旁边的那个)不应该出现在这个位置。