如何获取 Refit.ApiException 的内容?
根据内部内容是什么,我想让用户知道如何进行。所以我看到抛出的异常有以下内容......
内容 "{\"error\":\"invalid_grant\",\"error_description\":\"用户名或密码不正确。\"}"
问题是,我如何访问它?
如何获取 Refit.ApiException 的内容?
根据内部内容是什么,我想让用户知道如何进行。所以我看到抛出的异常有以下内容......
内容 "{\"error\":\"invalid_grant\",\"error_description\":\"用户名或密码不正确。\"}"
问题是,我如何访问它?
您可以为 ApiException 添加一个 catch 块。你可以从这个 catch 块中获取内容。见下文:
catch (ApiException ex)
{
var content = ex.GetContentAs<Dictionary<String, String>>();
Debug.WriteLine(ex.Message);
}
通过 RestService 类https://github.com/paulcbetts/refit/blob/master/Refit/RestService.cs
发现我可以使用 GetContentAs 方法
所以就这么做了..
((Refit.ApiException)ex).GetContentAs<Dictionary<String, String>>())
解析出键值内容。
作为额外的提醒:
GetContentAs<T>();
现在已弃用。
改为使用GetContentAsAsync<T>();
。