【问题标题】:POST and PUT request AFNetworkingPOST 和 PUT 请求 AFNetworking
【发布时间】:2012-06-11 03:29:52
【问题描述】:

我正在尝试调用服务器。 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/

这两种方法如何调用服务器?

【问题讨论】:

  • 这与 AFNetworking 究竟有什么关系?您是否使用 AFN 来提出这些请求?你能发布你如何使用 AFN 的代码示例吗?

标签: ios rest post put afnetworking


【解决方案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 就可以了。 :)

希望我有所帮助。

【讨论】:

    【解决方案2】:

    由于没有关联的代码,我假设您使用getPath:parameters:success:failure: 或没有使用POST reqd 发送的parameters,这可能是您的服务器/API 需要的。

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

    另请参阅 AFNetworking Post Request 以获取带有 AFnetworking 的 POST 示例代码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      相关资源
      最近更新 更多