我正在尝试将RestKit 0.20集成到我的项目中,例如,我正在使用google rss阅读器作为示例项目。
这是对Xml的响应
/ /category> & 这是我必须从中获取数据的Xml。
RKObjectMapping* articleMapping = [RKObjectMapping mappingForClass:新闻类];articleMapping addAttributeMappingsFromDictionary:@{ @“标题”:@“标题”,@“链接”:@“链接”,@"guid":@"guid",@"pubDate":@"pubDate",@"description":@"description“};
NSURL* url = [[NSURL alloc]initWithString:@"http://news.google.com"];
RKObjectManager* objectManager = [RKObjectManager managerWithBaseURL:url];
NSURLRequest* request = [objectManager requestWithObject:nil method:RKRequestMethodGET path:@"/?output=rss" parameters:nil];
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:articleMapping pathPattern:nil keyPath:@"item" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
RKObjectRequestOperation *objectRequestOperation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[ responseDescriptor ]];
[objectRequestOperation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
RKLogInfo(@"Load collection of Articles: %@", mappingResult.array);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
RKLogError(@"Operation failed with error: %@", error);
}];
[objectRequestOperation start];上面是我用来获取数据的代码,当我运行应用程序时,我得到了以下错误
I restkit.network:RKObjectRequestOperation.m:174 GET‘restkit.network:RKObjectRequestOperation.m:569’2013-05-28 12:24:15.076 TestApp8940:15203 E应用程序对象请求失败:底层http://news.google.com/?output=rss请求操作失败,错误: Domain=org.restkit.RestKit.ErrorDomain代码=-1016“预期内容类型{(”应用程序/xml“,”应用程序/x-www-form-urlencoded“,”应用程序/json“)},GET application/rss+xml”UserInfo=0xa80a3d0 {NSLocalizedRecoverySuggestion=NFE/1.0热门新闻-谷歌新闻
有谁能帮忙吗?
发布于 2013-05-28 16:04:09
正如异常所说,RestKit期望的是以下之一:
但它接收的是"application/rss+xml“。你只需要告诉RestKit会发生什么。
您可以询问RestKit是否已经理解mime类型:
[RKMIMETypeSerialization registeredMIMETypes];如果没有,您将需要向RKMIMETypeSerialization注册一个序列化程序。
并且您可以告诉对象管理器期望哪种mime类型:
[objectManager setAcceptHeaderWithMIMEType:@"application/rss+xml"];https://stackoverflow.com/questions/16786363
复制相似问题