Ошибка запроса оценки поездки - неверный параметр (отсутствует обязательный параметр) - 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, этот заголовок не действует).

Другие вопросы по тегам