我有一个iOS应用程序使用RestKit来与RESTful Rails服务器通信。服务器使用基本会话令牌进行用户验证。我想把这个标记附加到使用RKObjectManager方法发送的每个请求上。RestKit - 向所有请求添加参数
我已经试过为了使用下面的方法创建NSManagedObject的范畴超载:
- (void)willSendWithObjectLoader:(RKObjectLoader *)objectLoader
这工作正常,但我看不出有任何附加到对象装载机则params的方式。我甚至已经尽力重新对对象进行了重新设置,但如果没有使用转义字符发送它,则无法做到这一点。例如,下面的代码会给我对象在JSON序列化形式
RKObjectMapping *serializationMapping = [[[RKObjectManager sharedManager] mappingProvider] serializationMappingForClass:[self class]];
RKObjectSerializer *ser = [RKObjectSerializer serializerWithObject:self mapping:serializationMapping];
NSObject<RKRequestSerializable> *obj = [ser serializationForMIMEType:RKMIMETypeJSON error:nil];
但返回的对象有打算用作PARAM马上所以下面的代码不起作用
[params setValue:[LCSingletonLoggedInUser sharedLoggedInUser].sessionToken forParam:@"token"];
[params setData:obj.HTTPBody forParam:@"data"];
我也试过setObject和setData以及obj.HTTPBody的各种组合,以及只是obj马上。
实际上,以任何方式将obj附加到参数中总会导致它添加服务器无法处理的转义字符。设置params = obj会给服务器提供正确的值,但不会包含令牌。
我已经回答了同一个问题[here](http://stackoverflow.com/questions/11455427/how-do-i-add-some-default-parameters-when-using-restkit-and-rkobjectmanager/11465562 #11465562) – 2012-07-16 14:34:46
我会被诅咒的。我没有找到答案,我已经做了我公平的谷歌搜索份额。 – Rick 2012-07-16 16:53:12