Я пытаюсь использовать Quarkus с Kotlin для создания API, но сталкиваюсь с проблемой, связанной с тем, как json-b десериализует мой json в мои классы запросов.
Вместо десериализации вСписок MyRequestValue Я получаю HashMap.
Не уверен, почему 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 схэш-карта в качестве значений вместо получения объекта MyRequest со списком.
Фактический результат toString: MyRequest(name=Request, values=[{id=1, value=value1}])
Ожидаемый результат toString: MyRequest(name=Request, values=[MyRequestValue(id=1, name=value1)])