json - 在 Swift 中发送带有承载 token 和 json 正文的发布请求

标签 json swift post request token

我是 swift 的新手,我试图向网站发出发布请求,但还没有得出有效的结果。我发现的所有示例也不适合我。

我需要发送一个 json 正文给 https://mypostrequestdestination.com/api/

json body 只包含一个值

{State:1}

Header 必须包含

{"Authorization": bearer "token"}

{"Accept":"application/json"}

{"Content-Type":"application/json"}

希望有人能帮助我。

谢谢!

最佳答案

这个对我有用

let token = "here is the token"
let url = URL(string: "https://mypostrequestdestination.com/api/")!

// prepare json data
let json: [String: Any] = ["State": 1]

let jsonData = try? JSONSerialization.data(withJSONObject: json)

// create post request
var request = URLRequest(url: url)
request.httpMethod = "POST"

// insert json data to the request
request.httpBody = jsonData
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
request.setValue( "Bearer \(token)", forHTTPHeaderField: "Authorization")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    guard let data = data, error == nil else {
        print(error?.localizedDescription ?? "No data")
        return
    }
    let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
    if let responseJSON = responseJSON as? [String: Any] {
        print(responseJSON)
    }
}

task.resume()

关于json - 在 Swift 中发送带有承载 token 和 json 正文的发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52347576/

相关文章:

json - Python - UnicodeDecodeError : 'charmap' codec can't decode byte 0x81 in position 44: character maps to <undefined>

javascript - 查询/搜索 JSON 中的值

ios - 将 AirPlay 添加到 AVAudioPlayer (Swift)

python - 使用 Mechanize 使用 Python 发送 POST 参数

php - 如何在 PHP 中通过 HTTPS 发出 POST 请求?

json - 如何将元组列表转换为 Json 字符串

c# - 使用 JSON.NET 序列化对象的动态属性名称

ios - View Controller 的内容根据segue标识符改变

ios - 照片库更改时快速观察者模式

excel - 使用 POST Rest 服务下载 Excel