所以,我在使用Swagger(Core 1.5.7)的XML对象定义时遇到了麻烦。这是我的XML代码:
<result status="ok">
<another>
<cards/>
<customer my_super_id="2349027834"/>
<someothers>
<someother name="who-is-this" />
</someothers>
</another>
</result>
这是我的yml代码:
result:
type: object
description: Some random description
properties:
status:
type: string
xml:
attribute: true
another:
type: object
properties:
customer:
type: object
properties:
superId:
type: string
xml:
name: my_super_id
attribute: true
我可以毫无问题地获得status
,但my_super_id
是null
因为Swagger使用CamelCase中的参数生成模型类,即mySuperId
而不是my_super_id
public ResultAnotherCustomer(@JsonProperty("mySuperId") final String mySuperId)
。
在我生成的模型类中,我有:
@brand-primary
有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
愚蠢的原因,似乎我没有使用swagger-codegen
的最新版本
,所以将其更新到最新版本(2.1.5)解决了问题。
答案 1 :(得分:0)
我使用Swagger编码器生成器的经验是,它让我得到了我想要的80%,然后我必须自己做其余的事。如果你认为这是一个bug,你可以在这里记录: https://github.com/swagger-api/swagger-codegen/issues
Java通常倾向于使用CamelCase而不是snake_case,因此我猜测它是故意的。
答案 2 :(得分:0)
生成摇摇欲坠的客户端时我也遇到了这个问题
将模型从蛇案“ aa_ba_ca”重命名为骆驼案“ AaBaCa”
出现错误,因为调用api_instance.method(swagger_client.model(parameters))时找不到模型
错误: AttributeError swagger模块没有属性