Objective c RESTKit空json响应

Objective c RESTKit空json响应,objective-c,json,restkit,Objective C,Json,Restkit,使用RESTKit,我发出GET请求以接收对象,但有时如果数据库中没有记录,服务器返回的响应实际上是“null”,没有对象。请求因“加载了一个内容类型为“application/json”的不可处理响应(200)而失败,因为它无法将“null”响应映射到对象,但我希望请求成功并只返回一个nil对象。下面是我如何发出GET请求的: NSDictionary *objMapping = @{ @"PROPERTY": @"property",

使用RESTKit,我发出GET请求以接收对象,但有时如果数据库中没有记录,服务器返回的响应实际上是“null”,没有对象。请求因“加载了一个内容类型为“application/json”的不可处理响应(200)而失败,因为它无法将“null”响应映射到对象,但我希望请求成功并只返回一个nil对象。下面是我如何发出GET请求的:

NSDictionary *objMapping = @{
                             @"PROPERTY": @"property",
                            };

RKObjectMapping *myMapping = [RKObjectMapping mappingForClass:[MyClass class]];
[myMapping addAttributeMappingsFromDictionary:objMapping];


RKObjectManager* objectManager = [RKObjectManager sharedManager];

NSString *methodURL = [NSString stringWithFormat:@"%@/MyMethod", basePath];

NSURLRequest *request = [objectManager requestWithObject:nil method:RKRequestMethodGET path:methodURL parameters:@{@"myParam": myParamValue}];

NSIndexSet *statusCodes = RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful); 
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:myMapping method:RKRequestMethodGET pathPattern:nil keyPath:nil statusCodes:statusCodes];

RKObjectRequestOperation *objectRequestOperation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[ responseDescriptor ]];

[objectRequestOperation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult)
 {
     MyClass *myObj = [mappingResult firstObject];


     if (success)
     {
         success(myObj);
     }
 } failure:^(RKObjectRequestOperation *operation, NSError *error) {
     if(failure)
     {
         failure(error);
     }
 }];

[[RKObjectManager sharedManager] enqueueObjectRequestOperation:objectRequestOperation];

接收空对象绝对没有错。我只是说处理它不是你的责任。这是您的后端问题。只需看看其他地方提供的免费公共API服务。如果给空值,许多应用程序将崩溃。正确的方法是返回零内容的响应,如“0”或“-”。但是,如果你想处理后端的垃圾,这取决于你。LOL接收空对象绝对没有错。我只是说处理它不是你的责任。这是您的后端问题。只需看看其他地方提供的免费公共API服务。如果给空值,许多应用程序将崩溃。正确的方法是返回零内容的响应,如“0”或“-”。但是,如果你想处理后端的垃圾,这取决于你。英雄联盟