在 Swift 中执行 POST 请求

Execute POST request in Swift

我有一个简单的 Wordpress API,用于在我的 iOS 应用程序中点赞。我得到这个 JSON :{"status":true,"num_likes":2}.

我想要发生的事情是,当用户点击按钮时,它向服务器发送 POST 请求并且服务器自动增加 num_likes,所以我不必担心关于它。只是,我该如何发送那个简单的请求?

如何在 Swift 中完成?

link 对于 API:http://sekaaleksic.cloudlk.com/api/v1/post/{post_id}/like/{user_ip}

link 点赞数:http://sekaaleksic.cloudlk.com/api/v1/post/1/countLikes

在 iOS:

  1. 创建 NSURLRequest

    let request = NSMutableURLRequest(URL: NSURL(string: "http://yourendpoint")!)

  2. 将方法设置为POST

    request.HTTPMethod = "POST"

  3. 发送

    let task = NSURLSession.sharedSession().dataTaskWithRequest(请求) task.resume()

最终代码:

        let request = NSMutableURLRequest(URL:NSURL(string: "http://yourendpoint")!)
        request.HTTPMethod = "POST"
        let task = NSURLSession.sharedSession().dataTaskWithRequest(request)
        task.resume()

可能是这样的:

let url = NSURL(string: "https://public-api.wordpress.com/rest/v1.1/sites/$site/posts/$post_ID/likes/new")!

let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Accept")

let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request) { data, response, error in
    if let response = response, data = data {
        print(response)
        print(String(data: data, encoding: NSUTF8StringEncoding))
    } else {
        print(error)
    }
}

task.resume()

其中 $site 是您的站点 ID 或域,$post_ID 是 post 的 ID。