在Swift中执行POST请求

时间:2016-02-03 21:32:28

标签: ios json swift http-post

我的iOS App中有一个简单的Wordpress API。我得到了这个JSON:{"status":true,"num_likes":2}

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

我如何在Swift中执行此操作?

API的

链接:http://sekaaleksic.cloudlk.com/api/v1/post/ {post_id} / like / {user_ip}

指向countLikes的链接:http://sekaaleksic.cloudlk.com/api/v1/post/1/countLikes

2 个答案:

答案 0 :(得分:1)

在iOS上:

  1. 创建NSURLRequest

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

  2. 将方法设置为POST

    request.HTTPMethod =“POST”

  3. 发送

    let task = NSURLSession.sharedSession()。dataTaskWithRequest(request) task.resume()

  4. 最终代码:

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

答案 1 :(得分:0)

可能是这样的:

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是帖子的ID。