RestKit - 与查询字符串匹配的路径

时间:2014-05-11 18:46:52

标签: objective-c restkit restkit-0.20

我的请求看起来像这样:

/products?page=:page&perPage=:perPage

如何构建路径匹配器,以便在调用

时找到这些路径
[[RKObjectManager sharedManager] cancelAllObjectRequestOperationsWithMethod:RKRequestMethodGET matchingPathPattern:@"/products"];

这似乎与此模式不匹配。如何设置matchingPathPattern参数以匹配这些请求?

1 个答案:

答案 0 :(得分:0)

我通常创建命名路线。 Reskit路由器附带了许多不同的辅助方法,可以通过多种方式简化任务。像这样创建命名路线,

#define ProductsRoute  @"ProductsRoute"

RKRoute *productsRoute = [RKRoute routeWithName:ProductsRoute pathPattern:@"/products?page=:page&perPage=:perPage" method:RKRequestMethodGET];

将路线添加到routeSet,

 [[[RKObjectManager sharedManager].router routeSet] addRoute:productsRoute];

现在,让我们创建一个帮助方法,如果涉及某个命名路由,将取消对路由的请求,

- (void)cancelRequestToUrlWithRouteName:(NSString*)routeName{
 RKRoute *route = [[[[RKObjectManager sharedManager] router] routeSet] routeForName:routeName];
  [self cancelAllRequestWithMethod:route.method matchingPath:route.pathPattern];
}

然后在您想要取消对某个网址的请求时调用它,

[self cancelRequestToUrlWithRouteName:ProductsRoute];

我希望这也适用于你的情况。 注意我没有显示将responseDescriptors添加到objectManager。你可以正常添加响应描述符和你使用它时的paginator映射。