gpt4 book ai didi

swift - 如何在alamofire中分离请求体?

转载 作者:行者123 更新时间:2023-11-30 10:57:13 24 4
gpt4 key购买 nike

我使用 YouTube Live Streaming API。
它需要 http header 、参数、请求正文。

参数为必填查询字符串格式。
请求体需要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)
}
}

但是,这个请求总是失败。因为服务器识别reqeust body=nil。
Alamofire 请求方法没有请求正文。
在哪里可以输入请求正文?
或者如何分离请求正文?

最佳答案

来自Youtube documentation需要json body,所以需要使用JSON Encoding,并且需要在请求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)
}
}

关于swift - 如何在alamofire中分离请求体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53825773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com