Преобразование моего звонка почтальона в вызов API Dart / Flutter - PullRequest
1 голос
/ 07 ноября 2019

Я надеюсь использовать nutritionix api для получения информации о еде для пользователей моего приложения, мне удается получить вызов на работу в Почтальоне, но я не могу преобразовать его в код дротика. Я получаю эту ошибку: '{message: неожиданный токен' в JSON в позиции 0} '

Вот мой (POST) вызов почтальона:

Headers for POST call Body for POST call

Вот моя попытка преобразовать это в код дротика:

  Future<void> fetchNutritionix() async {
    String url = 'https://trackapi.nutritionix.com/v2/natural/nutrients';
    Map<String, String> headers = {
      "Content-Type": "application/json",
      "x-app-id": "5bf----",
      "x-app-key": "c3c528f3a0c68-------------",
      "x-remote-user-id": "0",
    };
    String query = 'query: chicken noodle soup';

    http.Response response =
        await http.post(url, headers: headers, body: query);

    int statusCode = response.statusCode;
    print('This is the statuscode: $statusCode');
    final responseJson = json.decode(response.body);
    print(responseJson);

    //print('This is the API response: $responseJson');
  }

Любая помощь будет признательна! И сноваспасибо!

Ответы [ 2 ]

3 голосов
/ 07 ноября 2019

Ваш скриншот почтальона показывает x-www-form-urlencoded как content-type, так почему же вы меняете это значение на application/json в заголовках? Удалите заголовок типа контента (пакет добавит его для вас) и просто передайте карту параметру body:

  var response = await http.post(
    url,
    headers: headers,
    body: {
      'query': 'chicken soup',
      'brand': 'acme',
    },
  );
0 голосов
/ 07 ноября 2019

просмотреть запрос, который вы отправляете

ваш ввод Почтальона x-www-form-urlencoded вместо простого текста

String query = 'query: chicken noodle soup';

почему бы вам не попробовать JSON лучше

String query = '{ "query" : "chicken noodle soup" }';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...