相关疑难解决方法(0)

RestKit GET查询参数

我一直在使用RestKit 0.10.0一段时间,直到这一点,我只将序列化对象发布到我的服务器:

[[RKObjectManager sharedManager] postObject:serializedObject
                                 usingBlock:^(RKObjectLoader *loader) {
                                     loader.delegate = self;
                                     loader.objectMapping = responseMapping;
                                     loader.serializationMIMEType = RKMIMETypeFormURLEncoded;
                                     loader.targetObject = nil;
                                 }];
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但我现在需要使用一些查询参数向服务器发出GET请求.我想到的第一件自然事情就像我发布对象一样:

  • 为封装查询参数的对象创建序列化映射
  • 为从服务器接收的对象创建响应映射
  • 为RKRequestMethodGET定义并使用路由器(而不是RKRequestMethodPOST)
  • 使用getObject:usingBlock(而不是postObject:usingBlock)发出请求

我很快就发现这不是这样做的,所以在搜索了可用的资源(RestKit Wiki,RestKit Google组)后,我现在知道两种被认为有效的解决方案:

  • 将查询参数附加到资源路径.

这非常有效.

NSDictionary *queryParams = [NSDictionary dictionaryWithObjectsAndKeys:
                                          token, @"accessToken",
                                          [NSNumber numberWithInt:level], @"level",
                                          [NSNumber numberWithInt:count], @"count",
                                          nil];

NSString* resourcePath = [PEER_SUGGESTIONS_CONTROLLER_PATH stringByAppendingQueryParameters:queryParams];

[[RKObjectManager sharedManager] loadObjectsAtResourcePath:resourcePath
                                                usingBlock:^(RKObjectLoader *loader) {
                                                    loader.delegate = self;
                                                    loader.objectMapping = responseMapping;
                                                }];
Run Code Online (Sandbox Code Playgroud)
  • 在加载程序块中设置查询参数.

这不会发送查询参数.

RKParams *params = [RKParams params];
[params setValue:token forParam:@"accessToken"];
[params setValue:[NSNumber numberWithInt:level] …
Run Code Online (Sandbox Code Playgroud)

iphone get ios restkit

6
推荐指数
1
解决办法
4954
查看次数

标签 统计

get ×1

ios ×1

iphone ×1

restkit ×1