gpt4 book ai didi

ios - 调用 alamofire swift 3 时的额外参数

转载 作者:行者123 更新时间:2023-11-30 12:08:38 25 4
gpt4 key购买 nike

我正在尝试发出 alamofire post 请求,我正在发送一个参数和一个正文,如下所示:

  static func sendFeedbackResultOldCustomer(customerId: String?,fbackAnswers:String? ,answers: String?, completion: @escaping (Bool , String?) ->() ){

let parameters: Parameters = ["customer_id":customerId!,"customer_new":"0","x-session":getXSession()]
request(urlString: APIStrings.feedbackSent, parameters: parameters, method: .post, headers: nil, encoding: answers, updateXsession: false) { (success, error, errorMsg, response) in
if(success) {
completion(true, nil)
}
else {
completion(false, response?.result.error as? String)
}
}
}

请求代码:

fileprivate static func request (urlString: String!, parameters: Parameters?, method: HTTPMethod, headers: HTTPHeaders?,encoding: String!, updateXsession: Bool, completion: @escaping(Bool, Error?, String?, DataResponse<Any>?) ->()) {
Alamofire.request(urlString, method: method, parameters: parameters, headers: headers,encoding:encoding).responseJSON { (response) in// here is the error (extra argument method in call)
let contentType = response.response?.allHeaderFields["X-Session"] as? String
if (updateXsession)
{
UserDefaults.standard.set(contentType, forKey: "x-session")
}

let success = checkIfSuccess(response: response)
if(success){
completion(success, nil, nil, response)
} else {
completion(success, response.error, "Failed", nil)
}
}

在 alamofire 请求中,我收到以下错误:调用中存在额外参数。知道发生了什么吗?

正在发送的参数:

let parameters: Parameters = ["customer_id":customerId!,"customer_new":"0","x-session":getXSession()]

我正在尝试发送正文:

X_types = [{"type_id":"17","value":"3"},{"type_id":"12","value":"test"},{"type_id":"14","value":"4"},{"type_id":"19","value":"3"},{"type_id":"16","value":"4"},{"type_id":"13","value":"3"},{"type_id":"18","value":"4"},{"type_id":"15","value":"4"},{"type_id":"2","value":"4"},{"type_id":"11","value":"1"},{"type_id":"1","value":"3"},{"type_id":"8","value":"3"},{"type_id":"6","value":"2"},{"type_id":"4","value":"22-09-2017 - 12:1"},{"type_id":"5","value":"Test"}]

X_types 在编码中作为字符串发送(x_types 是字符串类型)

最佳答案

alamofire 请求的签名为:public func request(_ url: URLConvertible, method: Alamofire.HTTPMethod = default,parameters:Parameters? = default,encoding: ParameterEncoding = default, headers: HTTPHeaders? = default) 。我认为您的签名不匹配。

尝试

let request = Alamofire.request(url, method: HTTPMethod.post, parameters: params, encoding: JSONEncoding.default, headers: header)
request.responseJSON { response in

}

关于ios - 调用 alamofire swift 3 时的额外参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46360534/

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