我有一个iOS应用程序,它使用RestKit 0.20-rc1来实现RESTful服务。我正在尝试执行GET,我提供了多个具有相同名称的查询参数来检索一组相同类型的对象。例如,我的网址如下:
http://mysite.com/rest/myobjects?objID=123&objID=234&objID=345
我的网络服务能够接受这样的查询并返回相应的对象。我在客户端上的RestKit代码如下所示:
NSDictionary *params = ...
RKObjectManager *objMgr = [RKObjectManager sharedManager];
[objMgr getObjectsAtPath:@"/rest/myobjects" parameters:params success:nil failure:nil];
我的问题是,必须将参数指定为NSDictionary
,并且我有多个具有相同名称的参数。我尝试将NSDictionary
中的值设置为包含所有参数值的NSArray
,但这不起作用。
如何使用此方法在RestKit中指定多个具有相同名称的查询参数?这只是在RestKit中不支持吗?
答案 0 :(得分:0)
听起来使用RestKit代码是不可能的。你可以:
答案 1 :(得分:0)
您可以将带有参数的查询放在getObjectAtPath中。含义使用如下参数创建一个字符串:
NSString *queryPath = @"getNames?names=bob&names=joe&names=joey";
然后执行此操作(请注意此处parameters
对象为nil
):
[[RKObjectManager sharedManager] getObjectsAtPath:queryPath
parameters:nil
success:nil failure:nil];
如果编码有问题,请执行以下操作:
queryPath = [queryPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];