openapi-generator-maven-plugin 为具有 ref 的属性创建 JsonNullable<Object>:#
openapi-generator-maven-plugin creates JsonNullable<Object> for properties with ref: #
我已经创建了我的 .yml(减少):
openapi: 3.0.1
...
components:
messages:
...
schemas:
device:
type: object
properties:
identifier:
type: string
manufacturer:
type: string
model:
type: string
controllerId:
type: number
controller:
type: object
properties:
controllerId:
ref: '#/components/schemas/controllerId'
device:
ref: '#/components/schemas/device'
我让 java 类 为 Vertx 生成
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>5.3.0</version>
具有 type:
的属性按预期生成,但所有具有 ref:
的属性都生成为 JsonNullable<Object>
。
因此,jackson-ObjectMapper
将值读取为 LinkedHashMap
而不是 e。 G。 Device
在 Controller
的字段中。
我复制了生成的 类 并修复了泛型,以便映射器将值读取为预期的 类。
你知道如何编写生成器创建 JsonNullable<Device>
而不是 JsonNullable<Object>
的 .yml 吗?
或者有什么我还没有找到的生成器配置可以解决这个问题吗?
正在阅读规格...
我必须将 ref:
更改为 $ref
并生成正确的成员类型。
我已经创建了我的 .yml(减少):
openapi: 3.0.1
...
components:
messages:
...
schemas:
device:
type: object
properties:
identifier:
type: string
manufacturer:
type: string
model:
type: string
controllerId:
type: number
controller:
type: object
properties:
controllerId:
ref: '#/components/schemas/controllerId'
device:
ref: '#/components/schemas/device'
我让 java 类 为 Vertx 生成
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>5.3.0</version>
具有 type:
的属性按预期生成,但所有具有 ref:
的属性都生成为 JsonNullable<Object>
。
因此,jackson-ObjectMapper
将值读取为 LinkedHashMap
而不是 e。 G。 Device
在 Controller
的字段中。
我复制了生成的 类 并修复了泛型,以便映射器将值读取为预期的 类。
你知道如何编写生成器创建 JsonNullable<Device>
而不是 JsonNullable<Object>
的 .yml 吗?
或者有什么我还没有找到的生成器配置可以解决这个问题吗?
正在阅读规格...
我必须将 ref:
更改为 $ref
并生成正确的成员类型。