【问题标题】:Alamofire request issue while using header使用标头时出现 Alamofire 请求问题
【发布时间】:2018-01-18 02:40:37
【问题描述】:

我正在尝试发出发布请求并发送标头令牌,但它总是给我错误。错误是“调用中的额外参数'方法'”。我尝试了很多方法来解决这个问题,但没有成功。

func eventsDate(){
    let postData = ["month":12,
        "year": 2017]
    let headerToken = defaultObject.object(forKey: KHeaderToken)
    let headers = ["Authorization": headerToken]
    Alamofire.request(KCalendarUrl, method: .post, parameters: postData, encoding: JSONEncoding.default, headers: headers).responseJSON(completionHandler: { response in
                        print(response)
                        //to get status code
                        if let status = response.response?.statusCode {
                            switch(status){
                            case 200:
                                print("example success")
                                if let result = response.result.value {
                                    let JSON = result as! NSDictionary
                                }


                            default:
                                print("error with response status: \(status)")


                            }
                        }
                        //to get JSON return value

                })
 }

【问题讨论】:

  • 让 headers: HTTPHeaders = [ "Authorization": headerToken!, "Accept": "application/json" ] 像这样使用

标签: ios swift3 alamofire


【解决方案1】:

您需要确保符合request 函数所需的类型。在您的情况下,您应该确保:

  • KCalendarUrl 是 URLConvertible => 它可以是 String / URL / URLComponents / URLRequest (除非您使用符合 URLConvertible 的扩展/自定义类型)
  • headerToken 是一个字符串(headers 必须是字符串键和值的字典)

【讨论】:

    【解决方案2】:

    标头应该是 HTTPHeaders 类型,而 HTTPHeaders 又是 [String:String]。 我能想到的唯一问题是 headerToken 不是 String 类型。 使用

    let headerToken = defaultObject.object(forKey: KHeaderToken) as! String
    

    【讨论】:

      猜你喜欢
      • 2019-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-26
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多