首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RestKit 0.20错误Domain=org.restkit.RestKit.ErrorDomain代码=-1016

RestKit 0.20错误Domain=org.restkit.RestKit.ErrorDomain代码=-1016
EN

Stack Overflow用户
提问于 2013-05-28 15:37:05
回答 1查看 3.8K关注 0票数 1

我正在尝试将RestKit 0.20集成到我的项目中,例如,我正在使用google rss阅读器作为示例项目。

这是对Xml的响应

代码语言:javascript
复制
        /                          /category>                         &          

这是我必须从中获取数据的Xml。

RKObjectMapping* articleMapping = [RKObjectMapping mappingForClass:新闻类];articleMapping addAttributeMappingsFromDictionary:@{ @“标题”:@“标题”,@“链接”:@“链接”,@"guid":@"guid",@"pubDate":@"pubDate",@"description":@"description“};

代码语言:javascript
复制
       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热门新闻-谷歌新闻

有谁能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-28 16:04:09

正如异常所说,RestKit期望的是以下之一:

  1. "application/xml"
  2. "application/x-www-form-urlencoded"
  3. "application/json"

但它接收的是"application/rss+xml“。你只需要告诉RestKit会发生什么。

您可以询问RestKit是否已经理解mime类型:

代码语言:javascript
复制
[RKMIMETypeSerialization registeredMIMETypes];

如果没有,您将需要向RKMIMETypeSerialization注册一个序列化程序。

并且您可以告诉对象管理器期望哪种mime类型:

代码语言:javascript
复制
[objectManager setAcceptHeaderWithMIMEType:@"application/rss+xml"];
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16786363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档