Skip to content

Instantly share code, notes, and snippets.

@bragisig
Created June 16, 2013 11:45
Show Gist options
  • Save bragisig/5791816 to your computer and use it in GitHub Desktop.
Save bragisig/5791816 to your computer and use it in GitHub Desktop.
Call POST method with RestKit v0.20
RKLogConfigureByName("RestKit/Network", RKLogLevelTrace);
RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace);
//NSString *url = @"http://0.0.0.0:5001/";
NSString *url = @"https://asteroids-nemesis.herokuapp.com/";
NSURL *baseURL = [NSURL URLWithString:url];
AFHTTPClient * client = [AFHTTPClient clientWithBaseURL:baseURL];
[client setDefaultHeader:@"Accept" value:RKMIMETypeJSON];
_restKitObjectManager = [[RKObjectManager alloc] initWithHTTPClient:client];
[_restKitObjectManager.HTTPClient setDefaultHeader:@"some-custom-header" value:@"ABC"];
[_restKitObjectManager setRequestSerializationMIMEType:RKMIMETypeJSON];
RKObjectMapping *gamerMapping = [RKObjectMapping mappingForClass:[Player class]];
[gamerMapping addAttributeMappingsFromDictionary:@{
@"username" : @"username",
@"score" : @"score"
}];
RKEntityMapping *requestMapping = (RKEntityMapping*)[gamerMapping inverseMapping];
RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:requestMapping objectClass:[Player class] rootKeyPath:nil];
[_restKitObjectManager addRequestDescriptor:requestDescriptor];
Player *gamer = [[Player alloc] init];
gamer.username = username;
gamer.score = [NSNumber numberWithLong:score];
//Call the webservice
[_restKitObjectManager postObject:gamer path:@"save" parameters:nil success:nil failure:nil];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment