Solution
20.10.2021, 11:32
Есть апи , формат общения json. Что б не изобретать велосипед взял библиотеку gson.
У себя в софте для удобства реализовал отдельный сервис для общения с апи(всего тройка методов), все мы знаем что gson работает с объектами, для каждого метода создавать отдельную модельку на уровне проекта как то тупо ибо по факту каждый метод возвращает только нужное значение либо выкидывает кастомный эксепшен при неудаче(так же с парой значений объекта), больше негде модели и не используются(кроме как в одном методе).
Что б уйти от ненужных моделей в проекте, решил сделать local nested классы, но в результате gson отказывается присваивать им значения, со static nested все работает как положено, но суть в том что на уровне класса данная модель тоже нахрен не обобралась, по факту нужна она только в методе.
Есть у кого какие идеи как подружить local nested с gson либо может какое другое решение?
Java:
public
double
getBalance
(
)
{
class
Balance
(
)
{
int
errorId
;
String
errorCode
;
double
balance
;
}
String
response
=
client
.
postJson
(
url
,
json
)
;
client
.
connectionClose
(
)
;
GsonBuilder
gsonBuilder
=
new
GsonBuilder
(
)
;
Gson
gson
=
gsonBuilder
.
create
(
)
;
Balance
balance
=
gson
.
fromJson
(
response
,
Balance
.
class
)
;
return
balance
.
balance
;
//null
}
У себя в софте для удобства реализовал отдельный сервис для общения с апи(всего тройка методов), все мы знаем что gson работает с объектами, для каждого метода создавать отдельную модельку на уровне проекта как то тупо ибо по факту каждый метод возвращает только нужное значение либо выкидывает кастомный эксепшен при неудаче(так же с парой значений объекта), больше негде модели и не используются(кроме как в одном методе).
Что б уйти от ненужных моделей в проекте, решил сделать local nested классы, но в результате gson отказывается присваивать им значения, со static nested все работает как положено, но суть в том что на уровне класса данная модель тоже нахрен не обобралась, по факту нужна она только в методе.
Есть у кого какие идеи как подружить local nested с gson либо может какое другое решение?
Java:
public
double
getBalance
(
)
{
class
Balance
(
)
{
int
errorId
;
String
errorCode
;
double
balance
;
}
String
response
=
client
.
postJson
(
url
,
json
)
;
client
.
connectionClose
(
)
;
GsonBuilder
gsonBuilder
=
new
GsonBuilder
(
)
;
Gson
gson
=
gsonBuilder
.
create
(
)
;
Balance
balance
=
gson
.
fromJson
(
response
,
Balance
.
class
)
;
return
balance
.
balance
;
//null
}