RestKit 映射操作无法在搜索的关键路径中找到任何嵌套对象表示
RestKit The mapping operation was unable to find any nested object representations at the key paths searched
我想 post 一个带有 User
对象的请求来注册,但是我收到了这个错误:
The mapping operation was unable to find any nested object representations at the key paths searched
这是我的 post 请求代码:
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");
}];
非常感谢任何帮助,谢谢
解决方案
删除根密钥路径。
- 尝试删除路径中的尾部斜杠(@"api/Account/Register" 而不是 @"api/Account/Register/")
- 如果没有任何变化,为对象映射打开日志记录到跟踪级别
RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace);
您将在控制台中看到更多信息。
我想 post 一个带有 User
对象的请求来注册,但是我收到了这个错误:
The mapping operation was unable to find any nested object representations at the key paths searched
这是我的 post 请求代码:
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");
}];
非常感谢任何帮助,谢谢
解决方案
删除根密钥路径。
- 尝试删除路径中的尾部斜杠(@"api/Account/Register" 而不是 @"api/Account/Register/")
- 如果没有任何变化,为对象映射打开日志记录到跟踪级别
RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace);
您将在控制台中看到更多信息。