我现在遇到了这个问题,实现了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
现在是子类HashMap类。我希望在put([key],[value])
上调用CObject
只会在请求正文中添加一个新属性。在运行测试时,我意识到CObject
中的所有属性都不在最终请求体中。因此,客户端仅发送具有任意定义的属性的请求主体,并消除规范中定义的所有其他属性。我使用的是最新的swagger-codegen(2.1.6 snapshot)
。我该如何解决这个问题呢?
NB 我不希望地图值显示在他们自己的属性下,我希望键值对出现在与规范中定义的其他属性相同的层次结构中。
答案 0 :(得分:0)
在您提供的JSON中,“additionalProperties”只是一个属性名称,其类型是字符串。假设属性名称是“keyValuePair”,那么使用additionalProperties
的正确方法是
"keyValuePair": {
{
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}