Java 附加属性消除了所有模型属性
我现在遇到了这个问题,使用Java 附加属性消除了所有模型属性,java,swagger,Java,Swagger,我现在遇到了这个问题,使用additionalProperties实现任意字段行为。下面是我的带有附加属性的模型 "CObject": { "type": "object", "properties": { "_id": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string",
additionalProperties
实现任意字段行为。下面是我的带有附加属性的模型
"CObject": {
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": {
"type": "string"
}
}
实际上,我在生成的java客户机中看到的唯一变化是我的CObject.java
now子类HashMap类。我希望在CObject
上调用put([key],[value])
只会在请求主体中添加一个新属性。在运行测试时,我意识到,CObject
中的所有属性都不在最终请求主体中。因此,客户端只发送带有任意定义的属性的请求主体,并删除规范中定义的所有其他属性。Am使用最新的swagger codegen(2.1.6快照)
。我怎样才能克服这个问题?NB我不希望映射值显示在它们自己的属性下,我希望键值对显示在与规范中定义的其他属性相同的层次结构下。在您提供的JSON中,“additionalProperties”只是一个属性名称,其类型为string。假设属性名为“keyValuePair”,那么使用
附加属性的正确方法是
"keyValuePair": {
{
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
不过,多亏了这一点,我已经编辑了这个问题,以进一步细化我想要的内容,因为我已经尝试过了。你能举一个例子(JSON)说明CObject是什么样子吗?如果这是CBObject在没有任何附加参数的情况下的样子:“CBObject”:{“createdAt”:null,“updatedAt”:null,“_id”:true}在调用CBObject.put(“name”,“bengi”)之后,它应该是这样的;“CBObject”:{“createdAt”:null,“updatedAt”:null,“_id”:true,“name”:“bengi”}