我正在尝试使用第三方公司提供给我的swagger模式生成java模型,但是生成要么失败,要么不能生成我所期望的对象。我不确定问题出在生成器还是模式上。
基本上,模式有一个父对象pet,其属性为“attributes”,其中“attributes”具有属性“size”。该模式还有一个子对象cat,它“继承”自pet(在'allof'语句中引用pet),并且它本身有一个带有嵌套属性“whiskercount”的属性“attributes”。
Cat:
allOf:
- $ref: '#/definitions/Pet'
- type: object
properties:
attributes:
type: "object"
properties:
weight:
type: "string"
Pet:
type: "object"
properties:
attributes:
type: "object"
properties:
whiskerCount:
type: "integer"
format: "int64"
使用swagger编辑器(2.0)时,ui模型显示了为我提供模式的公司试图实现的结果:
Cat {
attributes {
whiskerCount integer($int64)
weight string
但是,当尝试生成模型时,结果是:
generatorresultswagger codegen(2.2.1)生成失败: getAttributes() in Cat cannot override getAttributes() in Pet
(返回类型不兼容)openapi生成器(4.3.1、5.0.0、5.1.0)生成成功,但生成类“cat.java”、“catalof.java”、“catalofattributes.java”、“pet.java”、“petattributes.java”。cat#attributes(catalofattributes类型)仅包含“whiskercount”,pet#attributes(petattributes类型)仅包含“size”)
有没有一种方法可以实现一个“组合”属性对象(cat的成员变量),它同时包含wishercount和size两个字段?
暂无答案!
目前还没有任何答案,快来回答吧!