Swagger codegen反序列化动态响应

Swagger codegen反序列化动态响应,swagger,openapi,swagger-codegen,Swagger,Openapi,Swagger Codegen,从我的Java后端,我正在使用另一个后端,我不管理它,它的API定义不可用。我正在创建其服务的OpenAPI定义,并使用Swagger Codegen生成客户端 有一个端点返回一个复杂对象: { "total": 151, "version": 4, "dynamicItem1": [ "codeDynamicItem1", 293, 63700, 19, "nameDynamicItem1"

从我的Java后端,我正在使用另一个后端,我不管理它,它的API定义不可用。我正在创建其服务的OpenAPI定义,并使用Swagger Codegen生成客户端

有一个端点返回一个复杂对象:

{
    "total": 151,
    "version": 4,
    "dynamicItem1": [
        "codeDynamicItem1",
        293,
        63700,
        19,
        "nameDynamicItem1",
        "",
        "",
        "",
        0,
        -64
    ],
    "dynamicItem2": [
        "codeDynamicItem2",
        237,
        40000,
        478,
        "nameDynamicItem2",
        "string1",
        "string2",
        "string3",
        0,
        0
    ]

}
在该对象中,
total
version
始终存在,但在同一级别上有数百个动态项。在上面的示例中,关键点是可以预测的,但实际上是字母和数字的序列,类似于“245df921”。动态项始终是具有相同项数和相同预期位置的数组

为了解析这个对象,我正在使用它,因为我读到它是解析hashmaps的正确方法,但似乎我没有正确地应用它

当前,我的OpenAPI表示形式如下所示:

openapi: 3.0.2
info:
  version: 1.0.0
  title: title
  description: description
paths:
  /complexObject:
    get:
      responses:
        '200':
          description: "OK"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Object'
components:
  schemas:
    Object:
      type: object
      properties:
        total:
          type: number
          example: 151
        version:
          type: number
          example: 4
        additionalProperties:
          type: array
          items:
            type: string
            nullable: true
使用该实现可以正确返回
total
version
,但是在响应对象中有一个
additionalProperties
属性,该属性的值为null


我缺少什么?

其他属性
需要与
属性处于同一级别

此外,由于这些动态数组是多类型的(字符串/整数),您需要
oneOf
来定义可能的项目类型

组件:
模式:
对象:
类型:对象
特性:
总数:
类型:编号
示例:151
版本:
类型:编号
示例:4

附加属性:#
附加属性
需要与
属性
处于同一级别

此外,由于这些动态数组是多类型的(字符串/整数),您需要
oneOf
来定义可能的项目类型

组件:
模式:
对象:
类型:对象
特性:
总数:
类型:编号
示例:151
版本:
类型:编号
示例:4

additionalProperties:#这是正确的答案,但由于此问题而不起作用:这是正确的答案,但由于此问题而不起作用: