有没有办法让Refit根据Http返回码转换成其他模型?

时间:2019-06-22 21:19:25

标签: c# android http xamarin refit

我需要改装方面的帮助... 我正在构建Xamarin.Android应用程序,并且正在使用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)
                {
                    ...
                }
...
            });

感谢您的帮助! 谢谢

0 个答案:

没有答案