TLDR:问题似乎在于,当它是枚举时,swagger 字段应该是强制性的(与 java 枚举字段不同)。我想知道是否有办法让它成为可选的
我正在使用 swagger 从 yaml 文件中生成一些集成 api
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.3.1</version>
(默认情况下,插件中使用 Gson 实现来处理 json)
在一个 yaml 文件中,我有一个请求描述,其中包含一个这样描述的字段
...
definitions:
MyRequest:
type: object
required:
- field1
- field2
properties:
myEnumField:
type: string
enum:
- A
- B
- C
或例如查看文档。
为此,swagger 生成公共静态类适配器(默认情况下,插件中使用 Gson 实现来处理 json,因此此适配器扩展了 com.google.gson.TypeAdapter)。并且此实现禁止将此字段留空(否则在运行时 NPE 失败)。
我想允许所有 yaml 文件的可选枚举字段,或者至少允许指定的枚举字段。
提前致谢