RestKit映射操作在搜索的键路径上找不到任何嵌套对象表示



我想发布一个带有User对象的注册请求,但我收到了这个错误:

The mapping operation was unable to find any nested object representations at the key paths searched

这是我发布请求的代码:

   User * user = [[User alloc]init];
user.UserName = _userNameTextField.text;
user.Password = _passwordTextField.text;
user.ConfirmPassword = _passwordTextField.text;
user.Email = _emailTextField.text;
//    {
//        "Email": "sample string 1",
//        "UserName": "sample string 2",
//        "Password": "sample string 3",
//        "ConfirmPassword": "sample string 4"
//    }
RKObjectManager * objectmanager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:@"url"]];
RKObjectMapping * userMapping = [RKObjectMapping requestMapping];
[userMapping addAttributeMappingsFromArray:@[@"Email",@"UserName",@"Password",@"ConfirmPassword"]];

RKRequestDescriptor * registrationDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:userMapping objectClass:[User class] rootKeyPath:@"api/Account/Register/" method:RKRequestMethodPOST];
[objectmanager addRequestDescriptor:registrationDescriptor];
[objectmanager postObject:user path:@"api/Account/Register/" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
    NSLog(@"Success");
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
    NSLog(@"Fail");
}];

非常感谢您的帮助,谢谢

解决方案

将删除根密钥路径。

  1. 尝试删除路径中的尾部斜杠(@"api/Account/Register"而不是@"api/Account/Reregister/")
  2. 如果没有任何更改,请为对象映射RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace);打开跟踪级别的日志记录。您将在控制台中看到其他信息

最新更新