Http-клиент Micronaut: как десериализовать пустую строку до нуля?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Http-клиент Micronaut: как десериализовать пустую строку до нуля?

Сообщение Anonymous »

API, который мы вызываем, возвращает пустые строки вместо нулевых, если поля не определены.
Это вызывает ошибку в Micronaut:
Ошибка декодирования тела ответа HTTP: Ошибка декодирования потока JSON для типа : Ошибка декодирования свойства [Результат списка] типа [класс ***.ListResult]: Ошибка декодирования свойства [Категория ссылки] типа [класс ***.Incident] ]: Непредвиденный токен VALUE_STRING, ожидается START_OBJECT.
Это наш класс инцидентов (groovy):

Код: Выделить всё

@Serdeable
class Incident {

//...

@JsonProperty("u_category")
Reference category //can be "" (instead of null) or {}

//...

}
И класс ListResult:

Код: Выделить всё

@Serdeable
class ListResult {

List result

}
Ответ API:

Код: Выделить всё

{"result":[{...,"u_category":"",...}]}
Или

Код: Выделить всё

{"result":[{...,"u_category":{"value":"some value"},...}]}
Мы используем io.micronaut.application версии 4.3.6 и io.micronaut.aot версия 4.3.6.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ng-to-null
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»