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”}