0

我正在使用 RestKit 访问 Tastypie API。我可以控制两端。

我已将 RestKit 映射配置为在 `/api/v1/organizations/1/ 成功加载“裸” JSON 资源,如下所示:

{
"id": "1", 
"name": "ACME Space"
}

但是如何配置 RestKit 以加载资源/api/v1/organizations/,如下所示:

{
"meta": 
    {
        "limit": 20, 
        "next": null, 
        "offset": 0, 
        "previous": null, 
        "total_count": 2
    }, 
"objects": 
    [
        {
            "id": "1", 
            "name": "ACME Space"
        },
        {
            "id": "2", 
            "name": "XYZ Tech"
        }
    ]
}

我假设 RestKit 不喜欢meta密钥或objects用于Organization对象的密钥。

我正在尝试使用RKFetchedResultsTableController. 是否有一个我可以覆盖的委托回调或一个我可以子类化的类来去除 RestKit 不喜欢的额外 JSON?改变 Tastypie 发出 JSON 响应的方式是否更容易?

这个问题类似于这个未回答的 SO question

4

2 回答 2

2

我建议您看一下目前处于开发后期阶段的功能/重启网络层分支。其中的众多功能之一是使用名为RKResponseDescriptor. 基本上,这可以让您说,当我在此路径模式(在本例中为 /api/v1/organizations)加载对象时,使用给定映射映射“对象”键路径。这可以解决以前的问题,即“对象”等通用键路径的键路径不明确。

标头中有大量文档(发布在http://restkit.org/api/0.20.0-dev/index.html)和一个新的 README.md 发布到https://github.com/RestKit/RestKit/树/功能/重启网络层

于 2012-09-26T22:50:02.190 回答
0

TastyPie 的开发版有一个Meta.collection_name属性可以用来区分。请参阅此处的文档

有了这个,我创建了一个Meta类并映射它forKeyPath:@"meta",RestKit 找出了其余的。我用一个 Meta 对象和 N 个实际对象返回对象列表。

于 2012-11-06T09:39:34.113 回答