http请求删除并放置

5 httprequest ios swift

下面是我用于获取和发布 HTTP 请求的代码。我想知道的是如何执行删除和放置的 HTTP 请求。我已经让 get 和 post 工作成为可能。我想知道如何根据下面的代码删除和放置。当我想将其更改为删除时,在我的邮政编码中更改什么?缺少什么?我想使用 ID 删除,例如“id”:16,

let parameters = ["name": "test", "desc": "test" , "reward":"1.00" , "sched":"2018-04-05T11:49:51+08:00",  "occurrence":["name": "once"]
    , "status": "created",  "created_by": "test@gmail.com","created_for": "test.com"] as [String : Any]

guard let url = URL(string: "http://test.tesst.eu:8000/api/v1/test/") else { return }
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
guard let httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: []) else { return }
request.httpBody = httpBody

let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) in
    if let response = response {
        print(response)
    }

    if let data = data {
        do {
            let json = try JSONSerialization.jsonObject(with: data, options: [])
            print(json)
        } catch {
            print(error)
        }
    }
}.resume()
Run Code Online (Sandbox Code Playgroud)

得到

guard let url = URL(string: "http://test.test:8000/api/v1/test") else { return }

let session = URLSession.shared
session.dataTask(with: url) { (data, response, error) in
    if let response = response {
        print(response)
    }

    if let data = data {
        print(data)
        do {
            let json = try JSONSerialization.jsonObject(with: data, options: [])
            print(json)
        } catch {
            print(error)
        }
    }
}.resume()
Run Code Online (Sandbox Code Playgroud)

Sh_*_*han 5

唯一不同的是GET的参数在 url 本身中,POST & DELETE & PUT的工作方式相同,只需更改httpMethod参数并指定httpBody是否需要,意思是

DELETE : 表示从特定 url 中删除资源

PUT :将资源放入网络服务器

//

let parameters = ["ID": "16"] as [String : Any]
guard let url = URL(string: "http://test.tesst.eu:8000/api/v1/test/") else { return }
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
guard let httpBody = try? JSONSerialization.data(withJSONObject:parameters, options: []) else { return }
request.httpBody = httpBody  
Run Code Online (Sandbox Code Playgroud)