【问题标题】:Alamofire Error Token (Post) with Swift使用 Swift 的 Alamofire 错误令牌(发布)
【发布时间】:2018-01-31 18:43:38
【问题描述】:

我和我的伙伴正在开发一个 iOS 项目,我们在这个问题上陷入了困境。

我们正在尝试为我们的 API 创建一个POST request,但我们得到的只是一个成功代码,但响应类型为:

SUCCESS: { detail = "未提供身份验证凭据。"; }

这是我们的代码:

@IBAction func accept(_ sender: Any) {
    var comm,cat,dist : String!
    comm = observationstwee.text!
    print(comm)
    let catd = 7
    cat = String(catd)
    print(cat)
    dist = distancetwee.text!
    print(dist)
    let parameters: Parameters = [
        "comment":comm,
        "category":cat,
        "distance":dist,
        "timestamp":time
    ]
    let headers: HTTPHeaders = ["Authorization": "Token \(token!)"]
    print(headers.debugDescription)
    Alamofire.request("https://llegoelbigotes.ubiqme.es/api/new-travel",parameters: parameters, headers: headers).responseJSON {response in switch(response.result) {

    case .success(_):
        print(response)
        print("Correct Travel")
        //changeViewController(storyboard_name: "Main", viewcontroller_name: "tabBarController", context: self)
        break

    case .failure(_):
        print("FAILURE")
        }
    }
}

和这个电话一样:

Alamofire.request("https://llegoelbigotes.ubiqme.es/api/new-travel",method:.post,parameters: parameters,headers:headers, encoding: JSONEncoding.default).validate().responseJSON

我们得到这个:

“调用中的额外参数‘方法’”

非常感谢您的帮助,我们正在使用 Alamofire 4.5 和 iOS 11.2

【问题讨论】:

    标签: ios swift post token alamofire


    【解决方案1】:

    当其中一个参数不正确时会发生这种类型的错误,在您的示例中这可能是“headers”参数,请尝试:

    let headers = ["Authorization": "Token \(token!)"]
    

    检查Alamofire migration guide,您可以使用RequestAdapter 协议。

    【讨论】:

      【解决方案2】:

      当你使用post方法时需要提供方法类型给请求参数代码应该是这样的

      request("https://llegoelbigotes.ubiqme.es/api/new-travel", method: 
      .post, parameters: parameters, encoding: JSONEncoding.default, headers: 
      headers).responseJSON(completionHandler:{ responseObject in
               })
      

      【讨论】:

        猜你喜欢
        • 2018-07-10
        • 2017-12-12
        • 1970-01-01
        • 2023-04-05
        • 2019-10-08
        • 1970-01-01
        • 2020-01-05
        • 1970-01-01
        • 2016-06-11
        相关资源
        最近更新 更多