0

我有一个 REST API,它在 RequestBody 中接受 application/json。json 中的键未预定义。所以我在swagger中使用了additionalProperties来定义这个JSON。此外,这个 json 也可能包含 JSONArray。

问题是,当使用 additionalProperties 时,它在生成的 java 代码中被内部视为 Map<String, Object> 。该映射通过内部使用 Gson 反序列化为 JSON。在此转换过程中,以下 json

{
  "BooleanField": "true",
  "ArrayField": [
    "SDK ADD",
    "SDK ADD 2"
  ],
  "StringField": "SDK",
  "IntField": "1"
}

被转换为

{
  "BooleanField": "true",
  "ArrayField": {
    "myArrayList": [
      "SDK ADD",
      "SDK ADD 2"
    ]
  },
  "StringField": "SDK",
  "IntField": "1"
}

json 数组放在myArrayList键中。这会导致此请求的输入验证失败。有没有更好的方法来解决这个问题?

4

0 回答 0