大多数 RESTful API 会路由对资源的访问,比如 Rabbit 对象,如下所示:
GET /rabbits <--- GET all rabbits. HTTP GET
GET /rabbits/:rabbit_id <--- GET one rabbit. Also HTTP GET
POST /rabbits
PUT /rabbit/:rabbit_id
但是,RestKit 不允许我有两个具有相同 HTTP 动词的路由,因此不可能将两个 GET 路由添加到 RKObjectManager 的 RouteSet:
[manager.router.routeSet addRoute:[RKRoute routeWithClass:[Rabbit class]
pathPattern:@"rabbits"
method:RKRequestMethodGET]];
[manager.router.routeSet addRoute:[RKRoute routeWithClass:[Rabbit class]
pathPattern:@"rabbits/:rabbitID"
method:RKRequestMethodGET]];
//BOOM! Assertion failure
这会导致断言失败:“无法添加与现有路由具有相同类和方法的路由。”
为什么我不能添加具有相同类和方法的路由?路径不同。我应该如何通过 ID 同时获取 Rabbit 列表和单个 Rabbit?我知道几种解决方法,但我觉得这不是我应该解决的问题。