restsharp - 当请求可能返回不同对象时响应的反序列化
问题描述
我正在使用 RestSharp 调用 API。我的基本功能现在工作得很好,我可以调用 RestClient.Execute(new RestRequest("/something"))。服务器返回映射到我创建的类的 JSON。这一切都很好。
但是......如果调用失败,服务器将返回一个不同的对象。它在失败时返回一个错误对象,当然,它与为成功指定的类型不匹配。
有没有办法处理可能返回正常答案或错误对象的请求?
解决方案
得到它的工作。我看到的是,如果调用失败,IRestResponse.IsSuccessful 为 false,响应内容 JSON 字符串是错误对象而不是正常响应。
因此,在调用 RestClient.Execute 后,如果 IsSuccessful 为 false,我将使用错误对象 C# 类调用 RestClient.Deserialize。
这样,如果调用成功,我会得到常规的反序列化对象,如果调用失败,我会得到 API 的错误对象,然后我可以将其作为异常抛出或以其他方式处理。
推荐阅读
- python - NLTK 标记优化
- git - Git python API在使用标签时返回无效的分支名称
- csvhelper - 当 CSVHelper 抛出错误数据时,如何判断文件在哪里出现问题?
- javascript - webpack index.js simple-wc-router 设置
- swift - iOS13 UICollectionViewFlowLayout 子类不接收collectionView框架更改
- python - 使用 RandomForest 进行 K 折交叉验证
- cookies - Chilkat HttpResponse Cookie 被截断
- c - 在没有arduino的atmega32上编程电子墨水显示器
- r - 垂直重组数据
- postgresql - PostgreSQL 如何知道我当前是否在 TimeZone 'CET' 中使用 DST?