Routing RestKit 0.20.2路由和映射

Routing RestKit 0.20.2路由和映射,routing,restkit-0.20,Routing,Restkit 0.20,我有下面的JSON和路由映射。 单项JSON { "quantity" : 0, "id" : 1, "version" : 0, "sku" : "sku1", "title" : "title1", } 所有项目如下所示:- [ { "quantity" : 2, "id" : 1, "version" : 0, "sku" : "sku1", "title" : "title1", }, { "quantity" :

我有下面的JSON和路由映射。 单项JSON

{
"quantity" : 0,
"id" : 1,
"version" : 0,
"sku" : "sku1",
"title" : "title1",
}
所有项目如下所示:-

[
    {
    "quantity" : 2,
    "id" : 1,
    "version" : 0,
    "sku" : "sku1",
    "title" : "title1",
    },
    {
    "quantity" : 4,
    "id" : 2,
    "version" : 0,
    "sku" : "sku2",
    "title" : "title2",
    }
]
以下是映射:-

RKEntityMapping *newItemMapping = [RKEntityMapping mappingForEntityForName:NSStringFromClass([Item class]) inManagedObjectStore:manager.managedObjectStore];
newItemMapping.identificationAttributes = @[@"id"];
[newItemMapping addAttributeMappingsFromDictionary:@{
        @"id" : @"id",
        @"version" : @"version",
        @"title" : @"title",
        @"sku" : @"sku"
}];
这是路线信息

[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[Item class] pathPattern:@"items/:id" method:RKRequestMethodGET]];
[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[Item class] pathPattern:@"items" method:RKRequestMethodPOST]];
[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[Item class] pathPattern:@"items/:id" method:RKRequestMethodPUT]];
[[RKObjectManager sharedManager].router.routeSet addRoute:[RKRoute routeWithClass:[Item class] pathPattern:@"items/:id" method:RKRequestMethodDELETE]];
GET请求工作正常,并使用上述映射正确加载对象

[[RKObjectManager sharedManager] getObject:sampleItemObject path:nil parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
    RKLogInfo(@"Load collection of Items: %@", mappingResult);
}                                         failure:^(RKObjectRequestOperation *operation, NSError *error) {
    RKLogError(@"Operation failed with error: %@", error);
}];
但POST请求失败,消息如下:-

[[RKObjectManager sharedManager] postObject:newItem path:nil parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
    NSLog(@"%@", mappingResult.array);
}                                             failure:^(RKObjectRequestOperation *operation, NSError *error) {
    NSLog(@"Failure saving post: %@", error.localizedDescription);
}];
错误消息:-

保存帖子失败:应为内容类型{( “application/x-www-form-urlencoded”, “应用程序/json” )},获取文本/html

请协助解决出现的任何问题

谢谢,
Foki

在配置共享管理器时或在发出post请求之前的某个时间点添加此行:

[RKObjectManager sharedManager].requestSerializationMIMEType = RKMIMETypeJSON;

另外,请确保为对象定义了序列化映射。这将允许RestKit将对象作为格式正确的JSON字符串发送到服务器。

是否设置了RestKit应该使用的mime类型?您是否设置了请求描述符和响应描述符?