swift – Alamofire 3自定义编码到Alamofire 4自定义编码

swift – Alamofire 3自定义编码到Alamofire 4自定义编码,第1张

概述我有使用customParameterEncoding在Alamofire 3中编写方法.这个自定义编码只是在queryString中替换“[] =”和“=”并返回它. Alamofire.request(.GET, SearchURL, parameters: params, encoding: customEncoding, headers: headers).validate().respo 我有使用customParameterEnCoding在Alamofire 3中编写方法.这个自定义编码只是在queryString中替换“[] =”和“=”并返回它.

Alamofire.request(.GET,SearchURL,parameters: params,enCoding: customEnCoding,headers: headers).valIDate().responseJsON {            response in            switch response.result {            case .success:                print("success")                break            case .failure(let error):                print("Error: " + error.localizedDescription)                break            }        }

和自定义编码参数

let customEnCoding =  ParameterEnCoding.Custom { requestConvertible,parameters in    let (mutableRequest,error) = ParameterEnCoding.URL.encode(requestConvertible,parameters: parameters)    mutableRequest.URL = NSURL(string: mutableRequest.URLString.stringByReplacingOccurrencesOfString("%5B%5D=",withString: "="))    return (mutableRequest,error)}

如何将customEnCoding转换为Alamofire 4版本?

解决方法 在Alamofire 4.0中,您应该使用ParameterEnCoding.

struct CustomEnCoding: ParameterEnCoding {    func encode(_ urlRequest: URLRequestConvertible,with parameters: Parameters?) throws -> URLRequest {        var request = try! URLEnCoding().encode(urlRequest,with: parameters)        let urlString = request.url?.absoluteString.replacingOccurrences(of: "%5B%5D=",with: "=")        request.url = URL(string: urlString!)        return request    }}
总结

以上是内存溢出为你收集整理的swift – Alamofire 3自定义编码到Alamofire 4自定义编码全部内容,希望文章能够帮你解决swift – Alamofire 3自定义编码到Alamofire 4自定义编码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1012875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存