2014-02-11 2 views
3

Я использую RestSharp, и я хочу знать, что является лучшим способом обработки ответа. Есть ErrorMessage, ErrorException и ResponseStatus в RestResponse, но как я могу проверить, был ли запрос успешным?Каков наилучший способ обработки ответа в RestSharp?

Я использую этот код. Это выглядит нормально?

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

Этот код не будет генерировать исключение, если служба REST ответит с ошибкой, отличной от 200s. Согласно https://github.com/restsharp/RestSharp/wiki/Getting-Started «Если API возвращает 404, ResponseStatus все равно будет завершен». –

ответ

-1

Это правильно. вы можете обрабатывать другой тип ответа по соглашению

1

Это не всегда будет ловить все ошибки. Как сказал Джейкоб, ResponseStatus может иметь значение Completed, даже если он возвращает 404 или какой-либо другой плохой статус.

Вместо этого используйте StatusCode, который обрабатывает все ответы HttpStatus.

if(!response.StatusCode == System.Net.HttpStatusCode.OK) 
    throw new ApplicationException(response.ErrorMessage); 
Смежные вопросы