在RestKit中,RK如何对对象列表以及单个对象进行GET的最佳方法是什么?

Eri*_*erg 2 restkit restkit-0.20

大多数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
Run Code Online (Sandbox Code Playgroud)

但是,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
Run Code Online (Sandbox Code Playgroud)

这会导致断言失败:"无法添加具有与现有路由相同的类和方法的路由."

为什么我不能添加具有相同类和方法的路由?该路径是不同的.我怎么能得到兔子的列表以及ID的单个兔子?我知道几种解决方法,但我觉得这不是我应该解决的问题.

Wai*_*ain 6

如果使用命名路由,则可以执行此操作.您不能使用非命名路由,因为它会产生一个模糊,一个RestKit应该使用它.