Я хочу десериализовать JSON в класс. Но поднимите ошибку ниже:
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Невозможно создать экземпляр com.test.api.models.requests.RequestPayload
(никаких создателей, таких как конструкция по умолчанию, не существует): абстрактные типы либо должны быть сопоставлены с конкретнымитипы, имеют собственный десериализатор или содержат дополнительную информацию о типе в [Source: (PushbackInputStream);строка: 3, столбец: 9] (через цепочку ссылок: com.test.api.models.requests.Request ["data"])
{
"requested_at_ms":1234,
"data":{
"user_id":"test",
"password":"test"
}
}
// data class
abstract class RequestPayload
data class Request(val requested_at_ms: Long, val data: RequestPayload)
data class SignInRequest(val userId: String, val password:String): RequestPayload()
// controller
@RequestMapping(path=["/signin"], method=[RequestMethod.POST])
fun singIn(@RequestBody request: Request) {
println(request)
}