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

Posted

技术标签:

【中文标题】行程预估请求错误 - 错误参数(缺少必需参数) - Lyft API【英文标题】:Ride Estimates Request Error - Bad Parameter (missing required parameter) - Lyft API 【发布时间】:2017-07-13 17:54:48 【问题描述】:

我一直在使用 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)
    

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于行程预估请求错误 - 错误参数(缺少必需参数) - Lyft API的主要内容,如果未能解决你的问题,请参考以下文章

缺少 1 个必需的位置参数:“pk”

Cloudinary 错误:“错误”:“消息”:“缺少必需的参数 - 时间戳”

“fit() 缺少 1 个必需的位置参数:'y'”错误

类型错误:initialize() 缺少 1 个必需的位置参数:'url'

类型错误:parse() 缺少 1 个必需的位置参数:'stream'

类型错误:预测()缺少 1 个必需的位置参数:'params'