i使用youtube实时流api。
它需要http标头,参数,请求主体。
需要参数查询字符串格式。
请求主体是json格式的。
在Alamofire中只有参数,标题。
如何将请求主体与参数分开?
直到现在,我都使用这样的。
let params: [String: Any] = [
"part": "snippet, status", // part is parameter
"snippet": ["title": "hhzz", // snippet is request body
"scheduledStartTime": "2018-12-18T13:00:0Z"],
"status": ["privacyStatus": "public"] // status is request body
]
Alamofire.request(url, method: .post, parameters: params, encoding: URLEncoding.queryString, headers: header).responseJSON { (response) in
if let response = response.result.value {
print(response)
}
}
但是,这个请求是Alaways失败。因为服务器识别reqeust body = nil。
alamofire请求方法没有请求主体。
我在哪里可以输入请求主体?
或如何分开请求主体?
从YouTube文档中需要JSON主体,因此您需要使用JSON编码,并且需要将URL参数添加到请求URL。
let url = "https://www.googleapis.com/youtube/v3/liveBroadcasts?part=snippet,status"
Alamofire.request(url, method: .post, parameters: params, encoding: JSONEncoding.default, headers: header).responseJSON { (response) in
if let response = response.result.value {
print(response)
}
}