如何在 RESTKit 中映射这个对象
How to map this object in RESTKit
我有 JSON 种
{
"Client": {
"FirstName": "String",
"LastName": "String",
"Email": "String",
"Password": "String",
"PhoneNumber": "String",
"Token": "String"
},
"ErrorMessage": "String",
"FriendlyMessage": "String"
}
我知道在映射时,如果我指定了一个关键路径,那么 RestKit 会匹配指定对象中的字段,在本例中 Client
,我正在使用的代码如下
[responseMapping addAttributeMappingsFromDictionary:@{
@"FirstName": @"FirstName",
@"LastName": @"LastName",
@"Email": @"Email",
@"PhoneNumber": @"PhoneNumber",
@"Token": @"Token",
@"Password": @"Password",
@"ErrorMessage": @"ErrorMessage"}];
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:responseMapping
method:RKRequestMethodPOST
pathPattern:nil
keyPath:@"Client"
statusCodes:[NSIndexSet indexSetWithIndex:200]];
但我还有两个要映射的额外字段,它们不在客户端对象下。如何映射 ErrorMessage
和 FriendlyMessage
字段?
通常您不想将它们映射到您的 client
对象中,您可能希望将它们映射到其他对象中。您通常会使用不同的对象和响应映射,其中响应映射使用不同的键路径。
如果出于某种原因你确实希望它们在同一个对象中,那么你可以考虑使用 @metadata
/ @parent
来访问父对象 (https://github.com/RestKit/RestKit/pull/1435)。
我有 JSON 种
{
"Client": {
"FirstName": "String",
"LastName": "String",
"Email": "String",
"Password": "String",
"PhoneNumber": "String",
"Token": "String"
},
"ErrorMessage": "String",
"FriendlyMessage": "String"
}
我知道在映射时,如果我指定了一个关键路径,那么 RestKit 会匹配指定对象中的字段,在本例中 Client
,我正在使用的代码如下
[responseMapping addAttributeMappingsFromDictionary:@{
@"FirstName": @"FirstName",
@"LastName": @"LastName",
@"Email": @"Email",
@"PhoneNumber": @"PhoneNumber",
@"Token": @"Token",
@"Password": @"Password",
@"ErrorMessage": @"ErrorMessage"}];
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:responseMapping
method:RKRequestMethodPOST
pathPattern:nil
keyPath:@"Client"
statusCodes:[NSIndexSet indexSetWithIndex:200]];
但我还有两个要映射的额外字段,它们不在客户端对象下。如何映射 ErrorMessage
和 FriendlyMessage
字段?
通常您不想将它们映射到您的 client
对象中,您可能希望将它们映射到其他对象中。您通常会使用不同的对象和响应映射,其中响应映射使用不同的键路径。
如果出于某种原因你确实希望它们在同一个对象中,那么你可以考虑使用 @metadata
/ @parent
来访问父对象 (https://github.com/RestKit/RestKit/pull/1435)。