ios - 如何从服务器中删除 JSON 形式的食谱?

标签 ios curl nsurlsession http-delete nsurlsessiontask

我编写了一段代码,从服务器获取 JSON 形式的食谱并将其呈现到 UItable 中。

NSURL *url = [NSURL URLWithString:@"http://domain.com/recipes"];
    [config setHTTPAdditionalHeaders:@{@"Authorization":@" Token token=\"3f71235466468b7f7\""}];

    NSURLSession *session = [NSURLSession sessionWithConfiguration:config delegate:nil delegateQueue:[NSOperationQueue mainQueue]];

    [[session dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        recipes= [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
       [self.tableView reloadData];

    }
      ] resume];

该服务器是用 Ruby 编写的。现在我想写一个删除菜谱的请求。这是我的服务器的说明。它说我应该使用以下curl来删除食谱:

删除食谱 DELETE:/recipes/:id 在 Curl 中,它会是这样的:

curl -H 'Authorization: Token token="0b774d575632b"' -X DELETE http://domain.com/recipes/22

有人知道如何实现删除方法吗?

最佳答案

您应该使用 dataTaskWithRequest:,而不是仅允许 GET 请求的 dataTaskWithURL: .

创建一个 NSMutableURLRequest使用适当的 URL,并将其 HTTPMethod 属性设置为 @"DELETE"。然后,您可以在 NSURLSession 中使用该请求。

关于ios - 如何从服务器中删除 JSON 形式的食谱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31749723/

相关文章:

php - curl 错误 60 : SSL certificate in Laravel 5. 3

ios - NSURLSessionTask 在 session 重新连接后是否保留 taskIdentifier?

ios - TabBarItem 上的角标(Badge)

ios - iOS 存档时找不到 Phonegap CDVViewController.h 文件

javascript - AJAX:仅触发错误回调

php - cURL Recaptcha 无法正常工作 PHP

delegates - 是否应该始终为具有自定义委托(delegate)的 NSURLSessionUploadTasks 调用 didReceiveResponse?

ios - NSURLSession HTTPMaximumConnectionsPerHost 未按预期工作

iphone - iOS 7 UIDatePicker 高度不一致?

ios - 如果我在我的应用程序上强制使用浅色模式,苹果会拒绝我的应用程序吗?