假设我在users/1/items
处有一个API,它会为ID为1的items
返回user
列表。
假设API响应如下:
{
"items": [
{
"id": "1",
"description": "Some item"
}
]
}
请注意,响应不包含关联映射的user_id
。是否可以在RestKit 0.20中映射到URL中的user_id
(在本例中为1)?如果是这样,怎么样?我在docs / wiki中找不到任何提及。
答案 0 :(得分:5)
是的。您需要使用RKRouter
类(通常与RKObjectManager
一起使用)。使用路由和路径模式后,可以在映射定义中使用路由元数据。
How to use the meta data(“元数据映射”部分)
答案 1 :(得分:1)
您实际上可以使用RestKit调用Relationship Routes
。
这是一个简短的例子:
RKRoute *aRoute = [RKRoute routeWithRelationshipName:@"user-items-relationship"
objectClass:User.class
pathPattern:@"users/:userid/items"
method:RKRequestMethodGET];
然后你会得到这样的项目:
[[RKObjectManager sharedManager] getObjectsAtPathForRelationship:@"user-items-relationship"
ofObject:someUser
parameters:nil
success:^(RKObjectRequestOperation *operation, RKMappingResult *result)
{
NSLog("I win");
}
failure:^(RKObjectRequestOperation *operation, NSError *error)
{
NSLog("I lose");
}];