我有一个 Web 服务,需要两部分查询才能完全获取我需要的信息。我可以通过对 /vehicles.json 的 GET 请求来查询所有车辆的列表,它会为我提供所有车辆的列表,如下所示:
{
vehicles: [
{
vehicle_name: "Sam's Toyota Corola",
uri: ".../vehicle/1001.json"
},
{
vehicle_name: "John's Honda Accord",
uri: ".../vehicle/1002.json"
}
]
}
uris 是唯一的 id。然后,如果我想要更多信息,我可以通过对车辆 uri 的 GET 请求(即 /vehicle/1001.json)查询车辆的详细信息,它为我提供了这样的车辆的详细信息:
{
vehicle: {
engine: "V6",
sunroof: "no"
}
}
我想用一种核心数据类型表示车辆,该类型包含:名称、uri、引擎和天窗,但在 RestKit 中有两条路线映射到相同的核心数据类型,如下所示:
// Map the list of all vehicles route
[objectManager.router routeClass:[CDVehicle class] toResourcePath:@"/vehicles.json" forMethod:RKRequestMethodGET];
// Map the show of a specific vehicle route
[objectManager.router routeClass:[CDVehicle class] toResourcePath:@"/vehicle/(vehicleID).json" forMethod:RKRequestMethodGET];
RestKit 不喜欢这样,并给我一个错误,即 GET 方法有两条路由映射到同一事物。为什么?!?这当然是可以做到的,看看你如何用 RestKit 做几乎任何事情。
有谁知道如何做到这一点?