У меня проблема в новом проекте. Я подключаюсь к API, который может отвечать двумя разными типами данных в одном ответе на основе некоторого лог-файла c сервера. Я использую Retrofit на Android, и мне было интересно, есть ли какой-нибудь «простой» способ справиться с этими случаями до анализа объекта модификации, например. какой-то парсер / сериализатор, который бы проверял, какой тип имеет поле c JSON? Я не знаю.
Вот возможные ответы:
ответ об ошибке:
{
"ReturnCode": "error",
"ReturnCodeNumber": 444,
"ReturnMessage": "Invalid Request",
"ReturnData": ""
}
ответ данных:
{
"ReturnCode": "ok",
"ReturnCodeNumber": 0,
"ReturnMessage": "success",
"ReturnData": [
{
}
]
}
Запрос на модернизацию API:
@FormUrlEncoded
@POST("url")
Observable<ApiResponse<List<Data>>> requestData()
Класс ответа API имеет открытые поля указанного выше ответа и параметризовал T для returnData
.
Так можно ли как-то обернуть его в каком-то классе сериализатора?