在RestKit版本0.10.x我用RestKit 0.20.0 - getObjectsAtPath使用JSON HTTP請求的身體
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/special/path" usingBlock:^(RKObjectLoader *loader) {
loader.objectMapping = aMapping;
loader.delegate = _delegate;
loader.method = RKRequestMethodPOST;
loader.userData = [MobileGatewayReauthentication class];
loader.params = [anDictionary toJsonRKParam];
}];
添加NSDictionary
到loader.params
發送的參數集合的請求的HTTP體。
由於RestKit 0.20.0 loadObjectsAtResourcePath
已經被替換通過以下的方法,在那裏它不再能夠通過在一個parameters
的NSDictionary
方法,其被用作HTTP機構(JSON編碼):
[RKObjectManager.sharedManager getObjectsAtPath:path parameters:params success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult)
{
NSLog(@"success");
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"failure");
}];
當[[RKObjectManager sharedManager].HTTPClient
(AFNetworking)工作設置時,它就像一個魅力:
[[RKObjectManager sharedManager].HTTPClient setParameterEncoding:AFJSONParameterEncoding];
[[RKObjectManager sharedManager].HTTPClient postPath:path parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Response: %@", operation.responseString);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@",error.localizedDescription);
}];
但我需要更高級別的對象映射器。
[[RKObjectManager sharedManager].HTTPClient setParameterEncoding:AFJSONParameterEncoding];
對[RKObjectManager sharedManager]沒有影響,但
[[RKObjectManager sharedManager].HTTPClient setDefaultHeader:@"aHeader" value:@"aValue"];
了。所以我認爲3210也適用。
這是一個錯誤,它還沒有實施,或者我錯過了什麼?
非常感謝。
我拉了最新的開發分支提交,但它沒有工作。我編輯了這個問題來澄清我的需求。 – andreschneider