RestKit对象与外键和服务的映射

时间:2013-09-30 14:45:45

标签: ios objective-c restkit

我正在尝试为一个类似于休息的服务设置一个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对象,但我真的无法从帮助中找出他们如何帮助我。

1 个答案:

答案 0 :(得分:4)

RestKit不会自动加载关系的数据,您需要告诉它何时这样做。如果您使用routeWithRelationshipName:objectClass:pathPattern:method:添加路线,则可以使用getObjectsAtPathForRelationship:ofObject:parameters:success:failure:发出请求。基本上它会将关系名称链接到收集所需详细信息的请求。