Мне нужна помощь с Refit ...
Я создаю приложение Xamarin.Android и использую Refit для выполнения сетевых вызовов на некоторых конечных точках.
Основываясь на нормальном функционале Refit, мы можем заставить его преобразовать ответ в модель или список нужных нам моделей:
[Get("/Racas.aspx")]
Task<List<Raca>> GetRacas([AliasAs("token")] string token);
Это работает как задумано, но, поскольку API возвращает другую модель, отличную от "Raca", при возникновении ошибок, как я могу преобразовать ее должным образом?
Это базовый пример, только Get на конечной точке, который вернет мне список ресурсов с HTTP 200, ИЛИ, если что-то пойдет не так, сервер вернет мне модель под названием «Mensagem», а не « Рака "с HTTP 5xx или 4xx ...
Как я могу продолжить это? GetRacas () должен быть в состоянии конвертировать в HTTP-код:
Task<List<Raca>> GetRacas()
and
Task<Mensagem> GetRacas()
Я называю Задачи ремонта следующим образом:
await GetApiService().GetRacas(currentUser.Token).ContinueWith(data =>
{
if (data.IsCompleted && data.Status == TaskStatus.RanToCompletion)
{
...
}
...
});
Я ценю любую помощь!
Спасибо