2013-07-31 20 views
7

Chciałbym wiedzieć, czy istnieje specjalny samouczek, jak wykonać żądanie POST z RESTKit. Spojrzałem na kilka samouczków, ale nie znalazłem żadnego, który mówi: "Dokładnie tak robisz żądanie POST z RESTKit." Pomoc jest bardzo cenna.RESTKit POST Wniosek Tutorial

Odpowiedz

11

Zakładając masz już odwzorowany model można po prostu wykonać to:

Najpierw ustawić requestDescriptor z inverseMapping twoich responseDescriptor, zakładając, że masz jedną z Twojego mapowania.

//This is used for mapping responses, you already should have one of this. PS:[Data mapping] is a method that returns an RKObjectMapping for my model. You should create yours or use a previous created one 
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:[Data mapping] pathPattern:nil keyPath:@"data" statusCodes:statusCodeSet]; 
[[RKObjectManager sharedInstance] addResponseDescriptor:responseDescriptor]; 

//Inverse mapping, to perform a POST 
RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:[[Data mapping] inverseMapping] objectClass:[Data class] rootKeyPath:nil]; 
[[RKObjectManager sharedInstance] addRequestDescriptor:requestDescriptor]; 

Następnie, aby wykonać test POST, po prostu wywołaj poniższą metodę. Restkit otrzyma instancję, którą próbujesz opublikować, serializować i wysłać na wybraną ścieżkę.

[[RKObjectManager sharedInstance] postObject:instanceOfYourModel path:yourPathHere parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { 
    NSLog(@"Success"); 

} failure:^(RKObjectRequestOperation *operation, NSError *error) { 
    NSLog(@"Error"); 
}]; 

Jeśli nie masz zmapowanego modelu, daj mi znać, abyśmy mogli spróbować czegoś innego.

+0

Nie wiem, jaki jest model odwzorowany. Czy to jest to: RKObjectMapping * mapping = [RKObjectMapping mappingForClass: [klasa logowania]]; [mapowanie addAttributeMappingsFromArray: @ [@ "nazwa użytkownika", @ "hasło"]]; mapowanie powrotne; – comrod

+1

Tak. Mapowanie obiektów ma metodę [odwzorowywanie odwrotnego odwzorowania]. Po prostu utwórz deskryptor żądań, tak jak pokazałem, i wyślij go do Twojego Menedżera RKObject, a będziesz mógł wykonać postObject. Wszelkie wątpliwości, proszę pytać –

+1

Lucas, chciałbym móc przyjąć odpowiedź: bardzo mi pomogło. Daj +1. – PJC