【问题标题】:Almofire with URLRequest with parameter带参数的 CURL 请求的 Alamofire
【发布时间】: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"]

【问题讨论】:

    标签: ios swift alamofire


    【解决方案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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-15
        • 1970-01-01
        • 2014-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-16
        • 1970-01-01
        相关资源
        最近更新 更多