我正在使用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响应的方式是否更容易?
这个问题类似于this unanswered SO question。
发布于 2012-09-27 06:50:02
我建议您查看当前处于开发后期阶段的feature/reboot-networking-layer分支。其中的众多功能之一是使用一个名为RKResponseDescriptor的新类来协调基于键路径和URL的映射配置。基本上这就是说,当我在这个路径模式(在本例中是/api/v1/organizations)加载一个对象时,使用给定的映射来映射'objects‘键路径。这解决了之前的通用键路径的键路径歧义问题,比如“对象”。
在headers中有大量的文档(在http://restkit.org/api/0.20.0-dev/index.html上发布),还有一个发布到https://github.com/RestKit/RestKit/tree/feature/reboot-networking-layer的新README.md。
发布于 2012-11-06 17:39:34
TastyPie的开发版本有一个Meta.collection_name属性,您可以使用它来区分。请看这里的documentation。
有了这些,我创建了一个Meta类,并将其映射为forKeyPath:@"meta",然后RestKit就解决了剩下的问题。我得到一个元对象和N个实际对象的对象列表。
https://stackoverflow.com/questions/12611498
复制相似问题