如何将 JSON 字符串添加到 HTTP 请求标头?
Posted
技术标签:
【中文标题】如何将 JSON 字符串添加到 HTTP 请求标头?【英文标题】:How to add JSON String to an HTTP request header? 【发布时间】:2020-08-19 20:34:24 【问题描述】:这是我的请求函数:
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
而不是正文添加到请求标头中。
有没有办法做到这一点?
【问题讨论】:
【参考方案1】:所以如果参数字典的标题,比在req.httpBody = ...
之前或之后添加此代码var headerParameters: [String: String] = [:]
for header in parameters
headerParameters[header.key] = (header.value as? String ?? "")
req.allHTTPHeaderFields = headerParameters
【讨论】:
以上是关于如何将 JSON 字符串添加到 HTTP 请求标头?的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用 Cloud Scheduler 发出的 HTTP POST 请求上添加 JSON 正文?它会添加“Content-Type”:“application/json”标头吗?