14

如何获取 Refit.ApiException 的内容?

根据内部内容是什么,我想让用户知道如何进行。所以我看到抛出的异常有以下内容......

内容 "{\"error\":\"invalid_grant\",\"error_description\":\"用户名或密码不正确。\"}"

问题是,我如何访问它?

4

3 回答 3

11

您可以为 ApiException 添加一个 catch 块。你可以从这个 catch 块中获取内容。见下文:

catch (ApiException ex)
{
    var content = ex.GetContentAs<Dictionary<String, String>>();
    Debug.WriteLine(ex.Message);
}
于 2016-12-09T12:46:58.130 回答
10

通过 RestService 类https://github.com/paulcbetts/refit/blob/master/Refit/RestService.cs

发现我可以使用 GetContentAs 方法

所以就这么做了..

((Refit.ApiException)ex).GetContentAs<Dictionary<String, String>>()) 

解析出键值内容。

于 2015-03-03T16:46:00.170 回答
4

作为额外的提醒:

GetContentAs<T>();现在已弃用。

改为使用GetContentAsAsync<T>();

于 2020-07-02T14:33:01.567 回答