Fazendo uma postagem na API com RKParams e mapeando a resposta com o RKObjectMapping usando o RestKit

No momento estou fazendo uma grande reformulação para o meu código e quero unificar a maneira como estou usando o Restkit. Eu havia separado maneiras de fazer chamadas RPC para meu servidor de API e chamadas REST.

Chamadas REST foram feitas usando objectMapping e chamadas RPC feitas com o RKClient. Além disso, estou usando blocos em vez de delegados, o que é ótimo, mas tenho algumas dúvidas sobre como isso funciona.

Aqui está o código que eu tinha antes, que funcionou muito bem para postar o objeto e fazer o mapeamento manualmente usando delegados e depois disso é o novo código usando blocos que não enviam os parâmetros.

//This was the old way...
- (void) upload: (KFMedia *) pic {

    RKParams* imageParams = [RKParams params];
    NSData* imageData = UIImageJPEGRepresentation(pic.image, 0.7f);
    [imageParams setData:imageData MIMEType:@"image/jpg" forParam:@"FileUpload"];

    [[RKClient sharedClient] post:@"/api/upload/" params:imageParams delegate:self]; 

}

//This is the new way I'm trying...
- (void) upload: (KFMedia *) pic onLoad:(RKObjectLoaderDidLoadObjectBlock) loadBlock onError:(RKRequestDidFailLoadWithErrorBlock)failBlock{

    RKParams* imageParams = [RKParams params];
    NSData* imageData = UIImageJPEGRepresentation(pic.image, 0.7f);
    [imageParams setData:imageData MIMEType:@"image/jpg" forParam:@"FileUpload"];

    [[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/api/upload/" usingBlock:^(RKObjectLoader *loader) {

        //Trying to set params here, but it seems that I'm not sending anything :(
        loader.params = imageParams;
        loader.objectMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[KFMedia class]];
        loader.delegate = self;
        loader.onDidLoadObject = loadBlock;
        loader.onDidFailWithError = failBlock;
        loader.onDidFailLoadWithError = failBlock;
        loader.onDidLoadResponse = ^(RKResponse *response) {
            [self fireErrorBlock:failBlock onErrorInResponse:response];
        };

    }];

}

A solicitação que estou enviando tem seu corpo vazio, o que significa que os parâmetros não estão sendo enviados ou configurados corretamente. Alguma idéia de como fazer isso funcionar?

questionAnswers(1)

yourAnswerToTheQuestion