问题描述
这是我的请求功能:
static func request(url:String,method: HTTPMethod,parameters: [String:AnyObject],completion: @escaping (Optional<AnyObject>) -> (),errorBlock:@escaping (String,Int) -> (Bool)){
let url = URL(string: "\(kAPIHostname)\(url)")!
var req = URLRequest(url: url)
req.httpMethod = method.rawValue
req.httpBody = try! JSONSerialization.data(withJSONObject: parameters,options: [])
apimanager.process(request: req,completion: completion,errorBlock: errorBlock)
}
我想做的是将所有parameters
而不是此处的正文添加到请求标头中。
有没有办法做到这一点?
解决方法
因此,如果标头使用参数字典,则应在 req.httpBody = ...
之前或之后添加此代码var headerParameters: [String: String] = [:]
for header in parameters {
headerParameters[header.key] = (header.value as? String ?? "")
}
req.allHTTPHeaderFields = headerParameters