Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift Post请求-JSON正文为空_Ios_Json_Swift_Rest_Api - Fatal编程技术网

Ios Swift Post请求-JSON正文为空

Ios Swift Post请求-JSON正文为空,ios,json,swift,rest,api,Ios,Json,Swift,Rest,Api,我正在尝试基于REST服务器API执行POST请求 每次我执行代码时,服务器都不会收到发送的正文。 服务器收到一个如下所示的主体:{} 请求中使用的结构如下所示: struct CreateUser: Codable { let first_name: String let email: String let password: String } 请求按如下方式进行: let userToRegister = CreateUser(firstName: "Max", emai

我正在尝试基于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
            }
        }
    }
})

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

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