gpt4 book ai didi

swift - 如何为 put 方法 Alamofire Request 设置多个编码参数

转载 作者:行者123 更新时间:2023-11-28 06:05:09 26 4
gpt4 key购买 nike

我的请求链接是这样的:http://et.net/webservice/put/profile?api_key=[K]&m=[M]&profile={"birthday":"1994-01-01", "性别":"男性", "婚姻":"单例"

api_keym 是 url 值和 profile 作为 JSON

    let parameters: Parameters = ["api_key": apiKey,
"m": mobile,
"profile": ["birthday":"",
"gender": "Male",
"marital": "Single"]]

最佳答案

如果您想要在您的 URL 中使用这些内容,则必须对它们进行百分比编码。您可以使用 URLComponents 执行此操作。

因此,根据需要构建您的 JSON 字符串:

let dictionary = [
"birthday": "1994-01-01",
"gender": "MALE",
"marital": "SINGLE"
]
let data = try! JSONEncoder().encode(dictionary)
let jsonString = String(data: data, encoding: .utf8)!

然后您可以构建 URL 并执行请求:

let urlString = "http://et.net/webservice/put/profile"

var components = URLComponents(string: urlString)!
components.queryItems = [
URLQueryItem(name: "api_key", value: "[K]"),
URLQueryItem(name: "m", value: "[M]"),
URLQueryItem(name: "profile", value: jsonString)
]

Alamofire.request(components.url!, method: .put)
.response { response in
// do whatever you want
}

如果您正在构建一个 .post 请求,您可以让 Alamofire 将其编码到您的请求正文中:

let parameters = [
"api_key": "[K]",
"m": "[M]",
"profile": jsonString
]

Alamofire.request(urlString, method: .post, parameters: parameters)
.response { response in
// do whatever you want
}

关于swift - 如何为 put 方法 Alamofire Request 设置多个编码参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48450664/

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