Quarkus Resteasy JSON-B将列表反序列化到HashMap中,而不是List <myobject>

时间:2019-05-20 23:10:49

标签: quarkus

我正在尝试将Quarkus与Kotlin一起使用来创建API,但是我遇到了与json-b将json反序列化为我的请求类的方式有关的问题。

我得到的是HashMap,而不是反序列化为MyRequestValue列表。

不确定为什么json'b可以正确反序列化对象,但不能对对象列表执行同样的操作

请求类

data class MyRequest @JsonbCreator constructor(
    @JsonbProperty("name") val name: String,
    @JsonbProperty("values") val values: List<MyRequestValue>
)

data class MyRequestValue @JsonbCreator constructor(
    @JsonbProperty("id") val id: Int,
    @JsonbProperty("value") val value: String
)

请求Json

{
  "name": "Request",
  "values": [
    {
      "id": 1, 
      "value": "value1"
    }
  ]
}

pom.xml

    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy-jsonb</artifactId>
    </dependency>

我不是将json请求转换为我的数据类对象,而是获取带有哈希映射的MyRequest对象作为值,而不是获取带有List的MyRequest对象。

实际toString结果: MyRequest(name=Request, values=[{id=1, value=value1}])

预期的toString结果: MyRequest(name=Request, values=[MyRequestValue(id=1, name=value1)])

0 个答案:

没有答案