【问题标题】:Swift Post Request - JSON Body is emptySwift Post 请求 - JSON 正文为空
【发布时间】:2018-11-28 03:08:07
【问题描述】:

我正在尝试基于 REST 服务器 API 执行 POST 请求。

每次我执行代码时,服务器都不会收到发送的正文。 服务器收到如下所示的正文:{}

请求中使用的结构如下:

struct CreateUser: Codable {
   let first_name: String
   let email: String
   let password: String
}

请求如下:

let userToRegister = CreateUser(firstName: "Max", email: "max.mustermann@gmail.com", password: "SECRET_PASSWORD")
let str = API_ENDPOINT
var request : URLRequest = URLRequest(url: URL(string: str)!)
let encoder = JSONEncoder()
let jsonData = try? encoder.encode(userToRegister)
request.httpBody = jsonData
request.httpMethod = "POST"
return URLSession.shared.dataTask(with: request, completionHandler: {(data,response,error) in
    DispatchQueue.main.async {
        if let httpResponse = response as? HTTPURLResponse {
            if httpResponse.statusCode == 200 {
                //Code for successful request
            } else {
                //Code for failure in request
            }
        }
    }
})

【问题讨论】:

    标签: ios json swift rest api


    【解决方案1】:

    我已经解决了这个问题。您必须添加以下行:

    request.setValue("application/json", forHTTPHeaderField: "Content-Type")
    request.setValue("application/json", forHTTPHeaderField: "Accept")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      • 2018-06-16
      • 2019-06-26
      • 2018-08-03
      • 2015-09-08
      • 1970-01-01
      相关资源
      最近更新 更多