带参数的 CURL 请求的 Alamofire
Posted
技术标签:
【中文标题】带参数的 CURL 请求的 Alamofire【英文标题】:Almofire with URLRequest with parameter 【发布时间】:2018-04-05 09:18:13 【问题描述】:我在我的应用程序中使用 Almofire。我如何在使用.get
方法时使用字典。我的代码如下:
func validMemberId(completion: @escaping CompletionHandler)
guard let cookie = self.cookies else
return
let isRegisterMemberUrl = createUrl(with: checkRegisterMemberIdUrl)
var isRegisterMemberRequest = URLRequest(url: isRegisterMemberUrl)
isRegisterMemberRequest.httpMethod = HTTPMethod.get.rawValue
isRegisterMemberRequest.allHTTPHeaderFields = HTTPCookie.requestHeaderFields(with: cookie)
Alamofire.request(isRegisterMemberRequest).responseString (response) in
(response) in
if response.result.isSuccess && response.response?.statusCode == 200
我想使用 Get 方法和 URLRequest
一起传递这本字典,我的字典 [String: Any] = ["ID": "001110"]
【问题讨论】:
【参考方案1】:参数应该是Dictionary
(键,值)
获取请求不需要设置方法
let parameters: Parameters = ["foo": "bar"]
Alamofire.request("https://httpbin.org/get", parameters: parameters) // encoding defaults to `URLEncoding.default`
如果您想发出post
请求,您只需添加method
let parameters: Parameters = ["foo": "bar"]
Alamofire.request("https://httpbin.org/post", method: .post, parameters: parameters)
【讨论】:
【参考方案2】:Manual Parameter Encoding of a URLRequest
ParameterEncoding
API 可以在发出网络请求之外使用。
let url = URL(string: "https://httpbin.org/get")!
var urlRequest = URLRequest(url: url)
let parameters: Parameters = ["foo": "bar"]
let encodedURLRequest = try URLEncoding.queryString.encode(urlRequest, with: parameters)
Alamofire.request(encodedURLRequest)
【讨论】:
以上是关于带参数的 CURL 请求的 Alamofire的主要内容,如果未能解决你的问题,请参考以下文章