Spring rest api, почему тип данных изменяется в ответ на вызов rest api - PullRequest
0 голосов
/ 26 мая 2020

Существует функция, которая возвращает responseEntitiy со списком массивов объектов

return new ResponseEntity<>(apiResponse, HttpStatus.OK);

например,

список следующих массивов,

row1{1,353543.23,100L}
row1{2,232.56,110L}.....

в то время как отладка Я узнал, что на этом этапе ответ имеет значения полей как BigDecimal или long в объекте apiResponse, это список массивов объектов (объекты имеют тип Bigdecimal / long), но когда он входит в вызывающую функцию, я вижу ответ, эти BigDecimal или длинные значения преобразованы / считаются целыми / двойными, в зависимости от того, есть ли десятичное число в числе или нет, это происходит для небольших чисел. Я не мог понять, где и почему он сам принимает решение об изменении типов данных при передаче.

Из-за этого функция, в которой я пытаюсь обработать этот ответ, выдает ошибку не может преобразовать целое число на Double / long, в идеале, потому что отправляются значения bigdecimal и long, я ожидаю, что эти значения будут такими, как есть, с сохранением своего типа данных, но это не так

1 Ответ

0 голосов
/ 26 мая 2020

По умолчанию spring использует jackson в качестве сериализатора, поэтому вы можете проверить, возникают ли проблемы с версией, которую вы используете прямо сейчас:)

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