gpt4 book ai didi

ios - 将多个数据附加到 URLRequest 的 httpbody

转载 作者:搜寻专家 更新时间:2023-11-01 06:50:30 51 4
gpt4 key购买 nike

我想将另一个字典作为参数附加到 URLRequesthttpBody

请求模型:

struct RequestModel: Encodable {

let body: Body
}

struct Body: Encodable {
let name: String
let score: String
let favList: [String]
}

API 请求:

do {
var urlRequest = URLRequest(url: resourceURL)
urlRequest.httpMethod = kHTTPMethodPOST
urlRequest.addValue("application/json", forHTTPHeaderField: "Content-Type")
urlRequest.httpBody = try JSONEncoder().encode(self.requestModel)

let dataTask = URLSession.shared.dataTask(with: urlRequest) { data, response, error in

guard let httpResponse = response as? HTTPURLResponse,
httpResponse.statusCode == 200,
let jsonData = data else {
completion(.failure(.responseError))
return
}


}
dataTask.resume()

} catch {
completion(.failure(.unknownError))
}

另一个字典:airports

var airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]

尝试将 airports 字典参数附加到 URLRequest 但无法附加。

感谢您的帮助和建议!

谢谢

最佳答案

如果您必须将 airports 字典附加到请求主体,您可能希望将其包含在请求模型本身中。

我建议更新您的 RequestModel 并使其成为 Encodable

并将您的 airports 字典作为您的 RequestModel 的一部分包含在内

像这样

struct RequestModel: Encodable {

let body: Body
let airportsDict: [String:String]
}

struct Body: Encodable {
let name: String
let score: String
let favList: [String]
}

这样您的 httpBody 将拥有您要传递的所有数据。

希望对你有帮助

关于ios - 将多个数据附加到 URLRequest 的 httpbody,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57670625/

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