2012-11-22 61 views
4

Restkit 0.20RestKit 0.20 - 预计内容类型(空)

有谁知道我为什么每次调用都会得到这个输出?任何关于追踪它的建议?我可以在调试输出中看到json有效载荷。

error=Error Domain=AFNetworkingErrorDomain Code=-1016 "Expected content type (null), got application/json" UserInfo=0x9187fe0 {NSLocalizedRecoverySuggestion={ 

我作出上述呼吁是

[manager getObjectsAtPath:@"/customers" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { 
     NSArray* statuses = [mappingResult array]; 
     NSLog(@"Loaded customers: %@", statuses); 
    } failure:^(RKObjectRequestOperation *operation, NSError *error) { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" 
                 message:[error localizedDescription] 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
     [alert show]; 
     NSLog(@"Customer Error: %@", error); 
    }]; 

和我的映射代码是

@interface DataCustomers : NSObject 

@property (nonatomic, copy) NSString* customerid; 
@property (nonatomic, copy) NSString* firstname; 
@property (nonatomic, copy) NSString* lastname; 
@property (nonatomic, copy) NSString* email; 

@end 



RKObjectMapping *map = [RKObjectMapping mappingForClass:[DataCustomers class]]; 
    [map addAttributeMappingsFromDictionary:@{ 
    @"id" : @"customerid", 
    @"firstname" : @"firstname", 
    @"lastname" : @"lastname", 
    @"email" : @"email"}]; 

[manager addResponseDescriptor: [RKResponseDescriptor responseDescriptorWithMapping:map 
                      pathPattern:@"/customers" 
                       keyPath:@"customers" 
                      statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]]; 
+0

似乎是某处的图书馆冲突。完全相同的代码在新项目中没有此错误。很奇怪。 – darren

回答

1

有一些奇怪的库发生冲突完全糊涂AFNetwork。

除了消除这个问题,我在pathPattern中加了nil。

2

你正确设置你的意愿来处理内容类型?

尝试增加这AppDelegate中:

#import "RKMIMETypeSerialization.h" 
#import "RKNSJSONSerialization.h" 

[RKMIMETypeSerialization registerClass:[RKNSJSONSerialization class] forMIMEType:@"application/json"]; 
+0

与此无关。我遇到了一些与AFNetwork严重混淆的图书馆冲突。另外,我用nil替换了pathPattern。 – darren

+0

有趣。您可以为您自己的这个问题添加一个答案,并通过这种方式接受它作为解决方案。 – powerj1984

+1

好点...谢谢 – darren