2014-02-11 139 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); 
相關問題