我正在尝试为一个类似于休息的服务设置一个RestKit对象映射,而不幸的是我没有控制权。
该模型是一个包含产品列表的愿望清单。愿望清单和产品显然存在多对多的关系。愿望清单和产品有各种属性,为简单起见,我们假设它们都只有名称。
我有单独的服务来获取愿望清单,产品的详细信息以及它们之间的关系。
例如:
GET / api / wish_list /?id = 1234
{
"name"="My wish list",
"id"=1234
}
GET / api / products
{
products:[
{
"name"="Product 1",
"id"=1111
},
{
"name"="Product 2",
"id"=2222
},
{
"name"="Product 3",
"id"=3333
}]
}
GET / api / wish_list_products /?wish_list_id = 1234
{
products:[
{
"id"=1111
},
{
"id"=2222
}
}
我在Product和WishList实体之间创建了核心数据关系,但我怎么能告诉RestKit它应该再次请求获取特定WishList的产品ID列表呢?
我想我应该使用[RKRoute routeWithRelationshipName:objectClass:pathPattern:method:]
和/或RKConnectionDescription
对象,但我真的无法从帮助中找出他们如何帮助我。
答案 0 :(得分:4)
RestKit不会自动加载关系的数据,您需要告诉它何时这样做。如果您使用routeWithRelationshipName:objectClass:pathPattern:method:
添加路线,则可以使用getObjectsAtPathForRelationship:ofObject:parameters:success:failure:
发出请求。基本上它会将关系名称链接到收集所需详细信息的请求。