【问题标题】:AFNetworking PUT and Delete with RailsAFNetworking 使用 Rails 进行 PUT 和删除
【发布时间】:2012-09-16 17:57:16
【问题描述】:

在查看 AFNetworking 文档时,Put 和 Delete 方法采用路径和参数字典。我使用 Rails 作为我的后端,希望这两种类型采用 Put /object/1.json 和 Delete /object/1.json 的形式。我应该通过添加 Id 来构建路径字符串,还是发送带有 Id 作为 Dictionary 中的参数之一的 Put 或 Delete?

【问题讨论】:

  • 我也有类似的情况。我有 PUT 和 GET 请求工作,但对如何使用 AFNetworking 为 DELETE 请求创建路径感到困惑。我正在和一个 postgresql 数据库交谈,如果那有什么好处的话。
  • 我也在使用 Postgres。我尝试传入一个参数字典,但这没有用。在代码中,如果我手动设置删除的完整路径,例如 [[APIManager sharedManager] deletePath:@"/v1/object/3.json" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) 那么它可以工作如我的原件中所述。认为我只需要将一个字符串连接在一起。
  • 我也尝试了参数字典,但无济于事。我会试试的。这是有道理的,我希望后续文档能更详细地介绍路径参数。

标签: ruby-on-rails-3 api http afnetworking


【解决方案1】:

通常当我使用PUT 和使用AFNetworking 时类似类型的HTTP 请求是这样的:

// Create an HTTP client with your site's base url
AFHTTPClient *client = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://example.com"]];

// Setup the other parameters you need to pass
NSDictionary *parameters = @{@"username" : @"bob", @"password" : @"123456"};

// Create a NSURLRequest using the HTTP client and the path with your parameters
NSURLRequest *request = [client requestWithMethod:@"PUT" path:@"object/1.json" parameters:parameters];

// Create an operation to receive any response from the server
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
    // Do stuff
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
    // Handle error
}];

// Begin the operation
[operation start];

如果您查看AFHTTPClient.h,这里有一些示例说明如何格式化您的基本 url 和路径。在AFNetworking documentation 中有更多关于这些方法的信息

【讨论】:

  • 嗨,基思。在您的“object/1.json”示例中,我想知道如何处理它是“1”。因为这通常是指我正在使用的动态对象的 id,所以我无法对其进行硬编码。
  • 好吧,如果您要添加一个新项目,您只需执行路径 object (很可能)否则您必须在下载对象时在某处获得该对象的值,以便您可以输入它当您准备删除它时,将值添加到路径中。例如,如果您下载了对象,则它们应该具有您最初会得到的某种唯一标识符。
猜你喜欢
  • 2012-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多