Swagger - OpenAPI 3.0:在 RequestBody 中定义 additionalProperties 以表示 JSON

问题描述

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

问题是,当使用 additionalProperties 时,它在生成的 java 代码中内部被当作 Map 。此映射通过内部使用 Gson 反序列化为 JSON。在这个转换过程中,下面的 json

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

转换为

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

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)