iOS URL ответ bool
Чистый веб-сервис, который возвращает истину или ложь, но я не знаю, как поймать этот ответ в моем приложении IOS.
Мой сервис обновляет данные в базе данных, и я знаю, что это работает, данные обновляются, он улавливает ответ, который является проблемой, я хотел бы знать, чтобы я мог сказать пользователю, если что-то пошло не так.
Для тех из вас, кто знает C#, это метод bool, просто попробуйте catch и верните true или false.
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
//What to write here to catch my true or false
if(response) {
//true
} else {
//false
}
}
Спасибо за помощь
2 ответа
Вы должны реализоватьconnection:didReceiveData:
чтобы получить и сохранить NSData и – connectionDidFinishLoading:
где вы можете интерпретировать полученные данные как BOOL.
в принципе didReceiveResponse:
узнавать только об ответе сервера на ваш запрос, а не весь ответ.
Вы должны проверить HTTP-код ответа, например:
NSInteger statusCode = [(NSHTTPURLResponse*)response statusCode];
Код состояния для успешного запроса использует диапазон [200..299].
Например, успешный запрос GET будет указан с помощью 200 (ОК).
Успешный запрос POST будет указан с 201 (Создано).
Успешный запрос DELET будет указан с 204 (без содержимого).
Смотрите также: Вики Список кодов состояния HTTP.
Кроме того, вам необходимо проверить тип данных, отправленных вам сервером:
NSString* mimeType = [response MIMEType];
Тип MIME был отправлен сервером в Content-Type
заголовок ответа.
Смотрите также вики MIME Тип интернет-медиа
То, что вы на самом деле получите полностью, зависит от вашего запроса и сервера.
Например, сервер всегда может ответить с JSON в качестве типа контента. В этом случае заголовок Content-Type
ответа будет application/json
, Фактический JSON, который представляет ответ, также будет связан с кодом состояния.
Чтобы предоставить пользователю удобное для чтения сообщение, вам нужно обратиться к API веб-службы и выяснить, как оно указано. Некоторые API веб-сервисов могут иметь довольно большой API. К сожалению, некоторые веб-сервисы не имеют исчерпывающей документации.