我的请求看起来像这样:
/products?page=:page&perPage=:perPage
如何构建路径匹配器,以便在调用
时找到这些路径[[RKObjectManager sharedManager] cancelAllObjectRequestOperationsWithMethod:RKRequestMethodGET matchingPathPattern:@"/products"];
这似乎与此模式不匹配。如何设置matchingPathPattern
参数以匹配这些请求?
答案 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映射。