Solicitud POST y PUT AFNetworking

Estoy intentando hacer una llamada a un server. La llamada GET está funcionando muy bien y devuelve el json correcto, pero cuando bash hacer un PUT o un POST, el server devuelve un error.

Configuré el server para recibir los siguientes posts:

method POST curl -X POST -d "number=NUMBER&name=NAME&lat=32.5713&lon=60.3926" http://server.com/users/ method PUT curl -X PUT -d "number=USER&name=NAME6&lat=-34.5552&lon=32.3333" http://server.com/users/ 

¿Cómo puedo llamar al server con estos dos methods?

Crearía una class APIClient para todas las requestes en lugar de crear un nuevo cliente cada vez que realice una request.

Consulte: https://github.com/AFNetworking/AFNetworking/tree/master/Example/Classes AFTwitterAPIClient.h y AFTwitterAPIClient.m

pero basado en tu pregunta. Creo que el código se verá algo así. (El código no se probó)

 NSURL *url = [NSURL URLWithString:@"http://server.com"]; AFHTTPClient *client = [[AFHTTPClient alloc]initWithBaseURL:url]; //depending on what kind of response you expect.. change it if you expect XML [client registerHTTPOperationClass:[AFJSONRequestOperation class]]; NSDictionary *params = [[NSDictionary alloc]initWithObjectsAndKeys: @"NUMBER",@"number", @"NAME",@"name", @"32.5713",@"lat", @"60.3926",@"lon", nil]; [client putPath:@"users" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"success"); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"failure"); }]; 

En cuanto a la request de publicación … simplemente use postPath en lugar de putPath y funcionará bien. 🙂

Espero haberte ayudado

Saludos,

Steve0hh

Como no hay un código asociado, supongo que usas getPath:parameters:success:failure: o no parameters envían parameters con el reqd POST que podría ser requerido por tu server / API .

 postPath:parameters:success:failure: putPath:parameters:success:failure: 

Consulte también AFNetworking Post Request para el código de ejemplo con POST con AFnetworking