行程估算请求错误 - 错误参数(缺少必需参数)- 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 无效)。
我一直在使用 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 无效)。