Java POJO в Kotlin JAR от JSON - PullRequest
0 голосов
/ 09 июля 2020

Я подключаюсь к 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? Можно ли использовать имена полей для сопоставления без аннотаций?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...