Я подключаюсь к API в Java и хочу сгенерировать POJO из ответа JSON. Вместо повторной реализации моделей DTO я использую несколько внешних JAR. Но один из них находится в Kotlin, и я получаю JsonMappingException при использовании метода JsonMapper.readValue, см. Ниже
Json ответ: {"id":"64592873498543","userName":"test","address":"test"}
Kotlin файл класса DTO из JAR:
@com.fasterxml.jackson.annotation.JsonIgnoreProperties public final data class UserDTO public constructor (map: kotlin.collections.MutableMap<kotlin.String, kotlin.Any?>) {
public constructor() { /* compiled code */ }
public open val id: kotlin.String /* compiled code */
public open val userName: kotlin.String /* compiled code */
public open val address: kotlin.String /* compiled code */
...
Код: UserDTO user = JsonMapper.readValue(jsonResponse, UserDTO.class);
Сообщение об ошибке: com.fasterxml.jackson.databind.JsonMappingException: Key id is missing in the map. at [Source: (String) "{"id":"64592873498543","userName":"test","address":"test"}" (through reference chain: com.test.users.UserDTO["id"])
Возможно ли это без аннотаций json? Можно ли использовать имена полей для сопоставления без аннотаций?