http.get() не добавляет мои параметры в заголовки

#dart #flutter #http-get #url-parameters

#dart #флаттер #http-get #url-параметры

Вопрос:

Я пытаюсь получить доступ к API с помощью flutter, и у меня возникли проблемы с этим. Я добавил карту в http.get(headers: myParameters) , и сервер по-прежнему не обрабатывает мой запрос, поэтому я напечатал свой, .headers и карта, которую я добавил, не была частью заголовков

     var params = {"key": "apiKey"};
    Uri uri = Uri.parse("https://api.testapp.com/v1");
    var response = await http.get(uri, headers: params); 
    print(response.headers);
  

После того, как я распечатал его, я получил json-карту, но мои параметры не были указаны в ней, они не добавляются при отправке запроса?

 {via: 1.1 vegur, content-type: application/json, connection: keep-alive, date: Fri, 05 Apr 2019 10:14:49 GMT, content-length: 92, server: gunicorn/19.9.0}
  

Комментарии:

1. Есть ли response.request.headers ? Выведите это вместо этого. Вы печатаете заголовки ответа, который получаете от сервера, а не заголовки отправляемого вами запроса.

2. Вы уверены, что ключ предназначен для отправки в виде заголовка HTTP, а не в строке запроса URL или форме POST или теле?

Ответ №1:

Вам нужно использовать HttpHeaders:

 var params = {HttpHeaders.authorizationHeader: "Basic your_api_token_here"};
Uri uri = Uri.parse("https://api.testapp.com/v1");
var response = await http.get(uri, headers: params); 
print(response.headers);