Swift中的HTTP POST请求:如何传递参数并处理响应?
大家好!我是Swift和iOS开发的新手。我正在编写一个简单的应用程序,通过POST请求将数据发送到服务器。我有一个URL和一组需要发送的参数(例如,用户名和密码)。我尝试使用URLSession,但总是遇到错误,或者服务器的响应为空。
以下是我当前的代码:
```swift
let url = URL(string: "https://example.com/api/login")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
let parameters = ["username": "test", "password": "12345"]
request.httpBody = parameters as? Data
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data {
print(String(data: data, encoding: .utf8) ?? "No data")
}
}
task.resume()
```
问题在于服务器没有接收到我的参数,或者返回了400错误。我了解到需要将数据序列化为JSON或使用其他方式。