POST and PUT request AFNetworking

后端 未结 2 1118
面向向阳花
面向向阳花 2021-01-18 13:04

I\'m trying to do a call to a server. The GET call is working great and returns the correct json, but when I try to do a PUT or a POST, the server returns an error.

相关标签:
2条回答
  • 2021-01-18 13:05

    I would create a APIClient class for all requests instead of creating a new client every time i make a request.

    See : https://github.com/AFNetworking/AFNetworking/tree/master/Example/Classes AFTwitterAPIClient.h & AFTwitterAPIClient.m

    but based on your question. I believe the code will look something like this. (Code was not tested)

    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");
    }];
    

    As for the post request.. just use postPath instead of putPath and it'll work fine. :)

    Hope I've helped.

    0 讨论(0)
  • 2021-01-18 13:12

    Since there is no associated code, I assume you use getPath:parameters:success:failure: or no parameters sent with POST reqd which might be required by your server/API.

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

    Also refer AFNetworking Post Request for sample code with POST with AFnetworking

    0 讨论(0)
提交回复
热议问题