ios - Swift 发布请求 - JSON 正文为空

标签 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", 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")

关于ios - Swift 发布请求 - JSON 正文为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50923545/

相关文章:

ios - 使用 MKMapView、核心位置和核心数据

jquery - onclick 使用 ajax laravel 从数据库获取数据

javascript - 如何使用 Angular JS 使用数组迭代 JSON 对象并填充表

java - json 数组遇到问题

ios - 在没有引用它的 viewController 中访问嵌套的 collectionView

ios - prepareForSegue UICollectionView 不工作(快速)

ios - 从另一个类更新 UILabel

ios - SymmetricDS 可以用于 iOS 吗

ios - 使用 CAAnimation 无限旋转两个变量

ios - Swift:如何实现自定义 AutoSegue