【发布时间】:2019-09-30 08:45:58
【问题描述】:
在 Swift 5 中,我试图削减很多依赖项 (Alamofire),并且我试图了解如何在使用 Codable 和 URLRequest 时执行多部分请求
我的代码可以正常使用名称和电子邮件创建用户,但我需要在结构中添加头像。
添加头像后,如何将结构编码为多部分请求。 我在网上找到了一些解决方案,但不适用于我正在尝试实施的场景。
下面的代码是没有头像的请求的工作代码。
struct User: Codable {
let name: String
let email: String?
}
var endpointRequest = URLRequest(url: endpointUrl)
endpointRequest.httpMethod = "POST"
endpointRequest.addValue("application/json", forHTTPHeaderField: "Content-Type")
do {
endpointRequest.httpBody = try JSONEncoder().encode(data)
} catch {
onError(nil, error)
return
}
URLSession.shared.dataTask(
with: endpointRequest,
completionHandler: { (data, urlResponse, error) in
DispatchQueue.main.async {
self.processResponse(data, urlResponse, error, onSuccess: onSuccess, onError: onError)
}
}).resume()
【问题讨论】: