POST和PUT请求AFNetworking(POST and PUT request AFNetw

2019-06-25 09:47发布

我试图做一个服务器的呼叫。 get调用是伟大的工作,并返回正确的json的,但是当我尝试做一个PUT或POST,服务器返回一个错误。

我设置了服务器来接收下一个信息:

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/

我怎么可以打电话与这两个方法的服务器?

Answer 1:

我想创建一个APIClient类的所有请求,而不是每次我提出请求时创建一个新的客户。

请参阅: https://github.com/AFNetworking/AFNetworking/tree/master/Example/Classes AFTwitterAPIClient.h&AFTwitterAPIClient.m

但根据你的问题。 我相信代码将是这个样子。 (代码未测试)

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

至于发布请求..只是用postPath代替putPath,它会正常工作。 :)

希望我帮助。

问候,

Steve0hh



Answer 2:

由于没有相关的代码,我假设你使用getPath:parameters:success:failure:或没有parametersPOST发送REQD这可能是由您的服务器/ API是必需的。

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

另请参阅AFNetworking POST请求的代码示例使用POST与AFnetworking



文章来源: POST and PUT request AFNetworking