RestKit 0.20 - 预期的内容类型(空)
Posted
技术标签:
【中文标题】RestKit 0.20 - 预期的内容类型(空)【英文标题】:RestKit 0.20 - Expected content type (null) 【发布时间】:2012-11-22 09:15:03 【问题描述】:Restkit 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)]];
【问题讨论】:
似乎是某个地方的库冲突。完全相同的代码在新项目中没有此错误。很奇怪。 【参考方案1】:您是否正确设置了处理内容类型的意愿?
尝试将此添加到您的 AppDelegate:
#import "RKMIMETypeSerialization.h"
#import "RKNSJSONSerialization.h"
[RKMIMETypeSerialization registerClass:[RKNSJSONSerialization class] forMIMEType:@"application/json"];
【讨论】:
这与它无关。我发生了一些图书馆冲突,严重影响了 AFNetwork。另外,我用 nil 替换了 pathPattern。 有趣。你可以自己添加这个问题的答案,顺便接受它作为解决方案。【参考方案2】:发生了一些奇怪的库冲突,使 AFNetwork 完全混乱。
除了消除这个问题之外,我还在 pathPattern 中添加了 nil。
【讨论】:
以上是关于RestKit 0.20 - 预期的内容类型(空)的主要内容,如果未能解决你的问题,请参考以下文章
无法让 Restkit 0.20 + CoreData 工作
RestKit 0.20 使用 nsdata 发布数组 Json