additionalProperties消除了所有模型属性

时间:2016-02-28 13:38:04

标签: java swagger

我现在遇到了这个问题,实现了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 我不希望地图值显示在他们自己的属性下,我希望键值对出现在与规范中定义的其他属性相同的层次结构中。

1 个答案:

答案 0 :(得分:0)

在您提供的JSON中,“additionalProperties”只是一个属性名称,其类型是字符串。假设属性名称是“keyValuePair”,那么使用additionalProperties的正确方法是

"keyValuePair": {
    {
        "type": "object",
        "additionalProperties": {
            "type": "string"
        }
    }
}