1

我一直在使用 alamofire 来处理我的请求,但是当我尝试发出骑行估算请求时,我一直收到同样的错误:

error = "bad_parameter";
"error_detail" =     (
            {
        "start_lat" = "Missing required parameter";
    },
            {
        "start_lng" = "Missing required parameter";
    }
);

我的阿拉莫请求代码是:

let headerRequest: HTTPHeaders = ["Authorization" : "bearer <access_token>",
        "Content-Type" : "application/json"]

    let paramsRequest: Parameters = ["start_lat" : 37.7763,
                                     "start_lng" : -122.3918,
                                     "end_lat" : 37.7972,
                                     "end_lng" : -122.453,
                                     "ride_type" : "lyft"]

    Alamofire.request("https://api.lyft.com/v1/cost", method: .get, parameters: paramsRequest, encoding: JSONEncoding.default, headers: headerRequest).responseJSON { response in
        print(response.result.value)
    }

我不确定如何解决此错误。我已经盯着我的代码几个小时了,但还没有找到解决方案。有没有人对此错误有任何建议或可能的解决方案?

4

1 回答 1

1

这是因为您使用的是 JSON 编码,而 Lyft API 需要 URL 编码参数。因此,可以删除encoding: JSONEncoding.default或替换它,encoding: URLEncoding.default并且可以选择"Content-Type" : "application/json"从标头中删除(如果编码未设置为 JSONEncoding,则此标头无效)。

于 2017-07-13T18:25:51.153 回答