2

我正在尝试为类似休息的服务设置一个 RestKit 对象映射,而我很遗憾无法控制。

该模型是带有产品列表的愿望清单。WishList 和 Product 显然是多对多的关系。愿望清单和产品具有各种属性,为简单起见,我们假设它们都只有名称。

我有单独的服务来获取愿望清单的详细信息、产品的详细信息以及它们之间的关系。

例如:

获取 /api/wish_list/?id=1234

{ 
    "name"="My wish list",
    "id"=1234
}

获取 /api/产品

{
    products:[
    {
        "name"="Product 1",
        "id"=1111
    },
    {
        "name"="Product 2",
        "id"=2222
    },
    {
        "name"="Product 3",
        "id"=3333
    }]
}

获取 /api/wish_list_products/?wish_list_id=1234

{
    products:[
    {
        "id"=1111
    },
    {
        "id"=2222
    }
}

我在 Product 和 WishList 实体之间创建了核心数据关系,但我如何告诉 RestKit 它应该发出第二个请求以获取特定 WishList 的产品 ID 列表?

我想我应该使用[RKRoute routeWithRelationshipName:objectClass:pathPattern:method:]和/或RKConnectionDescription反对,但我真的无法从帮助中弄清楚他们如何在我的情况下帮助我。

4

1 回答 1

4

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

于 2013-09-30T15:06:31.147 回答