You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Swagger JSON中设置日期格式(2018-04-09 10:10:10)并显示示例日期

解决Swagger中requestDt字段仅显示为字符串的问题

我来帮你搞定这个Swagger文档显示的问题!你当前的配置只指定了字符串类型和正则校验规则,但Swagger需要明确的格式标识,才能将该字段识别为日期时间类型,进而展示对应的示例和友好提示。

具体解决方案

你需要在原有配置基础上添加两个关键属性:format: date-timeexample,修改后的Swagger规范如下:

"requestDt": {
  "title": "requestDt",
  "description": "请求日期时间,格式为yyyy-MM-dd HH:mm:ss",
  "type": "string",
  "format": "date-time",
  "pattern": "[0-9]{4}-[0-1][0-9]-[0-3][0-9] [0-2][0-9]:[0-5][0-9]:[0-5][0-9]",
  "example": "2024-05-20 15:45:30"
}

各属性的作用说明

  • format: date-time:这是OpenAPI规范中用于标识日期时间类型的标准属性,Swagger UI识别到这个属性后,会将字段标记为日期时间类型,部分UI还会提供日历选择器这类便捷输入控件。
  • example:直接提供一个符合格式要求的示例值,用户在文档页面就能直观看到正确的输入格式,无需再去解读正则规则。
  • 保留pattern:你的正则规则可以继续保留,用于做更严格的格式校验——因为标准的date-time格式允许带时区信息(比如2024-05-20T15:45:30+08:00),而你的正则限制了不带时区的格式,这样能确保输入完全符合业务需求。

额外提示

如果使用的是OpenAPI 3.x版本,你还可以通过examples属性定义多个示例,但单一场景下用example就足够简洁清晰了。

内容的提问来源于stack exchange,提问作者Arunkumar Vasudevan

火山引擎 最新活动