Używam programu RestKit po raz pierwszy, a jego zestaw funkcji wygląda świetnie. Wielokrotnie czytałem ten dokument i staram się znaleźć sposób na parowanie JSON POST na kanał i zmapować odpowiedź JSON. Od wyszukiwania na stackoverflow znalazłem sposób na wysłanie paramtów JSON przez GET, ale mój serwer pobiera tylko POST.Jak używać narzędzia Restkit do testu POST JSON i mapy
Oto kod mam tak daleko:
RKObjectMapping *issueMapping = [RKObjectMapping mappingForClass:[CDIssue class]];
[objectMapping mapKeyPath:@"issue_id" toAttribute:@"issueId"];
[objectMapping mapKeyPath:@"title" toAttribute:@"issueTitle"];
[objectMapping mapKeyPath:@"description" toAttribute:@"issueDescription"];
RKObjectManager* manager = [RKObjectManager objectManagerWithBaseURL:@"http://restkit.org"];
RKManagedObjectStore* objectStore = [RKManagedObjectStore objectStoreWithStoreFilename:@"News.sqlite"];
objectManager.objectStore = objectStore;
NSDictionary params = [NSDictionary dictionaryWithObjectsAndKeys: @"myUsername", @"username", @"myPassword", @"password", nil];
NSURL *someURL = [objectManager.client URLForResourcePath:@"/feed/getIssues.json" queryParams:params];
[manager loadObjectsAtResourcePath:[someURL absoluteString] objectMapping:objectMapping delegate:self]
z wątku innego stackoverflow (http://stackoverflow.com/questions/9102262/do-a-simple-json-post-using- restkit), wiem jak zrobić prosty żądanie POST z następującego kodu:
RKClient *myClient = [RKClient sharedClient];
NSMutableDictionary *rpcData = [[NSMutableDictionary alloc] init ];
NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
//User and password params
[params setObject:password forKey:@"password"];
[params setObject:username forKey:@"email"];
//The server ask me for this format, so I set it here:
[rpcData setObject:@"2.0" forKey:@"jsonrpc"];
[rpcData setObject:@"authenticate" forKey:@"method"];
[rpcData setObject:@"" forKey:@"id"];
[rpcData setObject:params forKey:@"params"];
//Parsing rpcData to JSON!
id<RKParser> parser = [[RKParserRegistry sharedRegistry] parserForMIMEType:RKMIMETypeJSON];
NSError *error = nil;
NSString *json = [parser stringFromObject:rpcData error:&error];
//If no error we send the post, voila!
if (!error){
[[myClient post:@"/" params:[RKRequestSerialization serializationWithData:[json dataUsingEncoding:NSUTF8StringEncoding] MIMEType:RKMIMETypeJSON] delegate:self] send];
}
miałem nadzieję, że ktoś pomoże mi poślubić te dwa fragmenty kodu w realne rozwiązania.
Sprawdź to pytanie, to powinno ci pomóc. http://stackoverflow.com/questions/9102262/do-a-simple-json-post-using-restkit – clopez