如何使用Restkit映射空200响应?

And*_*s C 0 iphone objective-c restkit restkit-0.20

首先让我说我知道问题是后端是响应,但我无能为力.所以...

我有一个GET请求,在某些情况下,会发回一个空体的200响应.再说一次,不能改变它.

使用Restkit,我已经完全映射了所有可能的案例,并且所有内容都像魅力一样,但是在这种特定情况下,我无法将其映射到应有的位置.

从我所看到的一切来看,似乎是我正在努力做的最准确的选择.

但是,由于某种原因,响应描述符似乎没有被拾取,并且响应被视为失败,并出现以下错误:

Error Domain = org.restkit.RestKit.ErrorDomain Code = -1017"加载内容类型为'application/json'的无法处理的响应(200)"

是否有一种"简单"的方法来正确映射空响应,甚至是字符串作为响应(显然没有任何JSON结构)?

提前感谢您可以向我指明的任何光线.

Meh*_*ion 5

如本文所述,您的问题有一个更好的解决方案.

您只需将具有ObjectMapping的ResponseDescriptor添加到NSNull:

// Create RKObjectMapping for NSNull:
RKObjectMapping* responseMapping = [RKObjectMapping mappingForClass:[NSNull class]];

// Create RKResponseDescriptor with mapping:
RKResponseDescriptor* response = [RKResponseDescriptor responseDescriptorWithMapping:responseMapping
                                                                              method:RKRequestMethodAny
                                                                         pathPattern:@"/yourPathPattern"       
                                                                             keyPath:nil
                                                                         statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];


// Add RKResponseDescriptor to RKObjectManager:
[[RKObjectManager sharedManager] addResponseDescriptor:response];
Run Code Online (Sandbox Code Playgroud)