行程估算请求错误 - 错误参数(缺少必需参数)- Lyft API

Ride Estimates Request Error - Bad Parameter (missing required parameter) - Lyft API

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

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

我的 Alamo 请求代码是:

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)
    }

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

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