我有一個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