gpt4 book ai didi

ios - 无法使用 Alamofire 成功完成带有参数的 GET 请求

转载 作者:行者123 更新时间:2023-11-29 05:38:28 25 4
gpt4 key购买 nike

使用 Alamofire 进行网络调用。我的要求是,需要在 GET 请求中发送正文。已尝试以下代码

func getForms(formTypes: [Int], userInterestIds:[Int], completionHandler: @escaping (_ status: Bool, _ response : GetArticleApiResponse?, _ error: Error?) -> Void) {

let headers = [
"Authorization" : "dfkjl23ksldjk3kd3",
"Content-Type": "application/json"
]
var parameters: Parameters = [:]
parameters["post_types"] = formTypes
parameters["usr_intrst_ids"] = userInterestIds

Alamofire.request(finalUrl, method: .get, parameters: parameters, headers: headers).responseJSON { response in
switch response.result {
case .success:
completionHandler(true,responseData, nil)
case .failure(let error):
completionHandler(false,nil,error)
}
}

但是,没有得到预期的响应。如果我做错了。帮助我,如何实现下面的 postman 调用。

enter image description here

提前致谢。

最佳答案

就我个人而言,我会使用符合 Codable 协议(protocol)的 Struct。

struct MyStruct: Codable {
var post_types: [Int]
var usr_intrst_ids: [Int]
}

func getForms(formTypes: [Int], userInterestIds:[Int], completionHandler: @escaping (_ status: Bool, _ response : GetArticleApiResponse?, _ error: Error?) -> Void) {

let myStruct = MyStruct(post_types: formTypes, usr_intrst_ids: userInterestIds)

do {
json = try JSONEncoder().encode(myStruct)
var request = URLRequest(url: finalUrl)
request.httpMethod = HTTPMethod.get.rawValue
request.setValue("application/json; charset=UTF-8", forHTTPHeaderField: "Content-Type")
request.setValue("dfkjl23ksldjk3kd3", forHTTPHeaderField: "Authorization")
request.httpBody = json

Alamofire.request(request).responseJSON { response in
...
}
} catch { // unable to encode myStruct }

关于ios - 无法使用 Alamofire 成功完成带有参数的 GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56796394/

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