Ошибка запроса оценки поездки - неверный параметр (отсутствует обязательный параметр) - Lyft API
Я использовал alamofire для своих запросов, но когда я пытаюсь сделать запрос Ride Estimate, я получаю ту же ошибку:
error = "bad_parameter";
"error_detail" = (
{
"start_lat" = "Missing required parameter";
},
{
"start_lng" = "Missing required parameter";
}
);
Мой код для Alamo Requests:
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, этот заголовок не действует).