使用标头时Alamofire请求问题

时间:2017-08-10 02:57:25

标签: ios swift3 alamofire

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

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

                })
 }

2 个答案:

答案 0 :(得分:1)

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

gets()

答案 1 :(得分:0)

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

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