当请求可能返回不同对象时,响应反序列化

时间:2019-09-16 02:07:43

标签: restsharp

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

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

是否可以处理可能返回正常答案或错误对象的请求?

1 个答案:

答案 0 :(得分:0)

使其正常工作。我看到的是,如果调用失败,则IRestResponse.IsSuccessful为false,并且响应内容JSON字符串为错误对象,而不是正常响应。

因此,在调用RestClient.Execute之后,如果IsSuccessful为false,则使用错误对象C#类调用RestClient.Deserialize。

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