RESKIt:无响应描述符

时间:2014-04-08 19:37:57

标签: core-data restkit restkit-0.20

我使用下面的代码发布了一个托管对象。在服务器上,我没有得到任何回复,除了200,所以没有响应对象的映射。

[self.objectManager postObject:invitation path:@"/path" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
        NSLog(@"success");
    } failure:^(RKObjectRequestOperation *operation, NSError *error) {
        NSLog(@"Failure");
    }]; 

我可以为RKResponseDescriptor使用虚拟格式吗?

RKResponseDescriptor *responseDescriptor = nil;  //causes a crash

1 个答案:

答案 0 :(得分:1)

没有'虚拟' RKResponseDescriptor实例,您必须明确定义您希望RestKit对响应数据执行的操作。

您的响应描述符可以是部分的,因此它只映射一个字段以证明事情正在发挥作用。

或者,您可以使用动态映射来读取传入数据中的键,并创建包含所有键的NSMutableDictionary映射。

这两件事只对测试非常有用,但可能会对你有帮助。

如果响应实际上没有正文数据而你只想监视成功,那么你可以改为使用AFNetworking,或者创建一个映射到NSMutableDictionary并且没有键的响应描述符。 RestKit应该选择它,它应该作为一个虚拟的'为了你的目的。它将创建一个从未使用过的字典实例,但你可以忽略它。


RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[NSMutableDictionary class]];

RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:mapping
                                                                                        method:RKRequestMethodPOST
                                                                                   pathPattern:@"/path"
                                                                                       keyPath:nil
                                                                                   statusCodes:[self statusCodeSuccess]];