Подтвердить что ты не робот

RestKit: получение кода состояния HTTP при сбое запроса

Я использую RestKit в приложении iOS, и мне нужно иметь специальную обработку для определенных кодов ошибок HTTP. Как можно проверить код состояния HTTP ответа внутри request:didFailLoadWithError:? Есть ли какая-либо запись в словаре userInfo NSError?

Я не мог найти ничего в RKRequestDelegate документации.

Здесь интерфейс для метода делегата:

- (void)request:(RKRequest *)request didFailLoadWithError:(NSError *)error
4b9b3361

Ответ 1

Для пользователей, использующих новую версию RESTkit и objectManager, вы можете получить код состояния из RKObjectRequestOperation:

operation.HTTPRequestOperation.response.statusCode

Ответ 2

Оказывается, что didFailLoadWithError: не вызывается для ошибок HTTP. Метод request:didLoadResponse: по-прежнему вызывает ошибки HTTP, поэтому доступны ответ (и, следовательно, коды состояния).

Ответ 3

Свойство statusCode, найденное в RKResponse, работает для меня:

- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error 
{
    switch ([[objectLoader response] statusCode]) {
        case 409:
    ...

}