2014-02-11 137 views
3

我使用RestSharp,我想知道处理响应的最佳方式是什么。有ErrorMessage,ErrorExceptionResponseStatusRestResponse但我怎么检查请求是否成功?在RestSharp中处理响应的最佳方式是什么?

我使用此代码。它看起来好吗?

if (response.ResponseStatus != ResponseStatus.Completed) 
{ 
    throw new ApplicationException(response.ErrorMessage); 
} 
+1

如果REST服务响应非200错误,此代码不会引发异常。按照https://github.com/restsharp/RestSharp/wiki/Getting-Started“如果API返回404,ResponseStatus仍然会被完成。” –

回答

-1

这是正确的。您可以按照惯例处理其他响应类型

1

这并不总是会捕获所有错误。正如Jacob所说,即使返回404或其他不良状态,ResponseStatus也可以具有Completed值。

取而代之,使用StatusCode可处理所有HttpStatus响应。

if(!response.StatusCode == System.Net.HttpStatusCode.OK) 
    throw new ApplicationException(response.ErrorMessage); 
相关问题