Ваш API возвращает ошибку HTTP 401 Unauthorized. Ваш бэкэнд требует HTTP-аутентификации? Если это так, укажите правильные учетные данные для RKClient
:
[[RKClient sharedClient] setUsername:myUsername];
[[RKClient sharedClient] setPassword:myPassword];
редактирование:
Я полагаю, у вас есть некоторые фундаментальные проблемы при настройке RestKit. Рассмотрим следующий пример.
//in your appdelegate
RKObjectManager* manager = [RKObjectManager objectManagerWithBaseURL:@"http://localhost:8080/activiti-rest/service"];
[[RKClient sharedClient] setUsername:@"kermit"];
[RKClient sharedClient] setPassword:@"kermit"];
// don't forget to create your mapping here
RKObjectMapping *dataMapping = [RKObjectMapping mappingForClass:[Data class]];
[dataMapping mapKeyPath:@"myKeyPath" toAttribute:@"myAttr"];
[[manager mappingProvider] addObjectMapping: dataMapping];
тогда вы можете сделать именно это.
-(void)loadData{
// fetch your mapping
[RKObjectMapping *mapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[Data class]];
//request data
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/process-definitions?start=0&size=10&sort=id&order=asc" objectMapping:mapping delegate:self];
}
Во-первых, вам нужно выполнить настройку (RKClient
, сопоставления и RKObjectManager
) - вы делаете это просто один раз . Они одиночные, поэтому настройки сохранены. Я обнаружил, что лучшее место для этого - AppDelegate - не стесняйтесь экспериментировать, но не забудьте выполнить настройку, прежде чем делать какие-либо запросы.
Когда вы собираетесь делать какие-либо запросы, просто используйте [[RKObjectManager sharedManager]
singleton для загрузки реальных объектов.
Кроме того, я рекомендую вам прочитать некоторую документацию, например. Руководство по отображению объектов