我需要一些有关 Refit 的帮助...我正在构建一个 Xamarin.Android 应用程序,并且我正在使用 Refit 对某些端点进行一些网络调用。基于 Refit 的正常功能,我们可以使其将响应转换为我们想要的模型或模型列表:
[Get("/Racas.aspx")]
Task<List<Raca>> GetRacas([AliasAs("token")] string token);
这按预期工作,但是,由于 API 在出现任何错误时返回“Raca”以外的不同模型,我该如何正确转换它?
这是一个基本示例,只有端点上的 Get,它将返回一个带有 HTTP 200 的资源列表,或者,如果出现任何问题,服务器将返回一个名为“Mensagem”而不是“Raca”的模型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)
{
...
}
...
});
我很感激任何帮助!谢谢