【发布时间】:2020-02-11 11:22:49
【问题描述】:
最近与我的团队开始了一个新的基于 Spring 的项目,我们决定放弃我们众所周知但已过时的 Swagger 2.0 文档实践,转而支持遵循 OpenApi 指令的 Swagger 3.0 标准。
为了不让跳跃过于激烈,我们试图坚持自动生成文档的基于配置和注释的风格。然而,这并非没有一些困难。
我们希望为一些高度可重用的类型定义一次模式,供整个项目使用。也就是说,我们使用org.bson.types.ObjectId 字段与-to-string 和string-to- 使用类型的十六进制字符串表示的序列化器/反序列化器相结合。这对我们的控制器来说很好。
同时,Swagger UI (v. 1.2.9) 坚持将任何 ObjectId 字段和/或参数表示为其完整的对象形式,即
"id": {
"timestamp": 0,
"counter": 0,
"time": 0,
"date": "2020-02-11T11:13:57.130Z",
"machineIdentifier": 0,
"processIdentifier": 0,
"timeSecond": 0
}
有没有办法让我们的 java 代码 为 ObjectId 类型定义架构 - 这是一个外部依赖项 - 一劳永逸,以便我们的 Swagger UI 识别这种类型可以表示为任何遇到实例的简单字符串?
【问题讨论】:
标签: java spring swagger swagger-ui openapi