jsons:
code:
nsurl *baseurl = [nsurl urlwithstring:@"http://www.krzysztofkurzawa.com"]; rkobjectmanager *objectmanager = [rkobjectmanager managerwithbaseurl:baseurl]; rklogconfigurebyname("restkit/network", rklogleveltrace); rklogconfigurebyname("restkit/objectmapping", rklogleveltrace); rkobjectmapping *mapping = [rkobjectmapping mappingforclass:[nsmutabledictionary class]]; [mapping addattributemappingsfromarray:@[@"title"]]; rkresponsedescriptor *rk = [rkresponsedescriptor responsedescriptorwithmapping:mapping pathpattern:@"articles" keypath:@"articles" statuscodes:rkstatuscodeindexsetforclass(rkstatuscodeclasssuccessful)]; [objectmanager addresponsedescriptor:rk]; rkobjectmapping *mapping2 = [rkobjectmapping mappingforclass:[nsmutabledictionary class]]; [mapping addattributemappingsfromarray:@[@"title"]]; rkresponsedescriptor *rk2 = [rkresponsedescriptor responsedescriptorwithmapping:mapping2 pathpattern:@"articles/:id" keypath:nil statuscodes:rkstatuscodeindexsetforclass(rkstatuscodeclasssuccessful)]; [objectmanager addresponsedescriptor:rk2]; [[rkobjectmanager sharedmanager] getobjectsatpath:@"articles" parameters:nil success:^(rkobjectrequestoperation *operation, rkmappingresult *mappingresult) { nslog(@"%@", [mappingresult firstobject]); } failure:^(rkobjectrequestoperation *operation, nserror *error) { }]; [[rkobjectmanager sharedmanager] getobjectsatpath:@"articles/1" parameters:nil success:^(rkobjectrequestoperation *operation, rkmappingresult *mappingresult) { nslog(@"%@", [mappingresult firstobject]); } failure:^(rkobjectrequestoperation *operation, nserror *error) { }]; error: no mappable object representations found @ key paths searched.", keypath=null, nslocalizeddescription=no response descriptors match response loaded.}
i haven't got ideas. first mapping works, when pathpattern set nil. why must nil? maybe needed creating rest path patterns.
your paths not correct, also, when running code had use method:
+ (instancetype)responsedescriptorwithmapping:(rkmapping *)mapping method:(rkrequestmethod)method pathpattern:(nsstring *)pathpattern keypath:(nsstring *)keypath statuscodes:(nsindexset *)statuscodes the 1 using says it's deprecated. guess might using old version of restkit.
here code works:
nsurl *baseurl = [nsurl urlwithstring:@"http://www.krzysztofkurzawa.com"]; rkobjectmanager *objectmanager = [rkobjectmanager managerwithbaseurl:baseurl]; rklogconfigurebyname("restkit/network", rklogleveltrace); rklogconfigurebyname("restkit/objectmapping", rklogleveltrace); rkobjectmapping *mapping = [rkobjectmapping mappingforclass:[nsmutabledictionary class]]; [mapping addattributemappingsfromarray:@[@"title"]]; rkresponsedescriptor *rk = [rkresponsedescriptor responsedescriptorwithmapping:mapping method:rkrequestmethodget pathpattern:@"/articles/" keypath:@"articles" statuscodes:rkstatuscodeindexsetforclass(rkstatuscodeclasssuccessful)]; [objectmanager addresponsedescriptor:rk]; rkobjectmapping *mapping2 = [rkobjectmapping mappingforclass:[nsmutabledictionary class]]; [mapping2 addattributemappingsfromarray:@[@"title"]]; rkresponsedescriptor *rk2 = [rkresponsedescriptor responsedescriptorwithmapping:mapping2 method:rkrequestmethodget pathpattern:@"/articles/:id/" keypath:nil statuscodes:rkstatuscodeindexsetforclass(rkstatuscodeclasssuccessful)]; [objectmanager addresponsedescriptor:rk2]; [[rkobjectmanager sharedmanager] getobjectsatpath:@"/articles/" parameters:nil success:^(rkobjectrequestoperation *operation, rkmappingresult *mappingresult) { nslog(@"%@", [mappingresult firstobject]); } failure:^(rkobjectrequestoperation *operation, nserror *error) { }]; [[rkobjectmanager sharedmanager] getobjectsatpath:@"/articles/1/" parameters:nil success:^(rkobjectrequestoperation *operation, rkmappingresult *mappingresult) { nslog(@"%@", [mappingresult firstobject]); } failure:^(rkobjectrequestoperation *operation, nserror *error) { }];
Comments
Post a Comment