【问题标题】:de-serialization of response when the request may return different objects当请求可能返回不同对象时响应的反序列化
【发布时间】:2019-09-16 20:52:15
【问题描述】:

我正在使用 RestSharp 调用 API。我的基本功能现在工作得很好,我可以调用 RestClient.Execute(new RestRequest("/something"))。服务器返回映射到我创建的类的 JSON。这一切都很好。

但是...如果调用失败,服务器将返回一个不同的对象。它在失败时返回一个错误对象,当然,它与为成功指定的类型不匹配。

有没有办法处理可能返回正常答案或错误对象的请求?

【问题讨论】:

    标签: restsharp


    【解决方案1】:

    搞定了。我看到的是,如果调用失败,IRestResponse.IsSuccessful 为 false,响应内容 JSON 字符串是错误对象,而不是正常响应。

    所以,在调用 RestClient.Execute 之后,如果 IsSuccessful 为 false,然后我使用错误对象 C# 类调用 RestClient.Deserialize。

    这样,如果调用成功,我会得到常规的反序列化对象,如果调用失败,我会得到 API 的错误对象,然后我可以将其作为异常抛出或以其他方式处理。

    【讨论】:

      猜你喜欢
      • 2020-09-26
      • 2019-05-07
      • 2022-12-09
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-16
      • 1970-01-01
      相关资源
      最近更新 更多