【发布时间】:2020-04-06 20:42:00
【问题描述】:
我正在对服务器进行 POST 调用,但 Alamofire 始终将正文作为 JSON 而不是作为表单 URL 编码发送,我知道为了对正文进行编码,我必须插入 data(using: .utf8, allowLossyConversion: false),但我没有不知道在哪里。
如何修复我的代码?
这是我的实际代码:
func asURLRequest() throws -> URLRequest {
let url = try DBank.StagingServer.baseUrl.asURL()
var urlRequest = URLRequest(url: url.appendingPathComponent(path))
// HTTP Method
urlRequest.httpMethod = method.rawValue
// Common Headers
headers.forEach { (field, value) in
urlRequest.setValue(value, forHTTPHeaderField: field)
}
// Parameters
if let parameters = parameters {
do {
urlRequest.httpBody = try JSONSerialization.data(withJSONObject: parameters, options: [])
} catch {
throw AFError.parameterEncodingFailed(reason: .jsonEncodingFailed(error: error))
}
}
【问题讨论】:
-
我相信你正在寻找这个:stackoverflow.com/questions/43282281/…
-
@DevKyle 谢谢伙计!如何将从 httpResponse 获得的不记名令牌存储在 UserDefaults 中?
标签: ios swift xcode swift4 alamofire