FormatException: неверный номер radix-10 - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь получить запрос на получение с помощью Flutter и HttpClient.

Это полный код в том, что я пытаюсь выполнить.

  getSuggest() async {
    try {
      var httpClient = new HttpClient();
      var uri = new Uri.http(
          'http://autocomplete.geocoder.api.here.com', '/6.2/suggest.json', {
        'app_id': 'APP_ID',
        'app_code': 'APP_CODE',
        'query': '123 Main Street',
        'country': 'USA',
        'language': 'en',
      });
      var request = await httpClient.getUrl(uri);
      var response = await request.close();
      var responseBody = await response.transform(Utf8Decoder()).join();
      Map data = jsonDecode(responseBody);
      print(data);
    } catch (error) {
      print(error);
    }
  }

И я использую

import 'dart:io';
import 'dart:convert';

Но мой код всегда отправляется на print(error), и выводится ошибка:

FormatException: Неверное число радиуса-10

Есть идеи?

Спасибо !!

1 Ответ

0 голосов
/ 28 декабря 2018

Проблема в схеме.Вам не нужно устанавливать его в методах Uri.http или Uri.https, он устанавливается автоматически, поэтому измените его следующим образом:

Uri.http(
        'autocomplete.geocoder.api.here.com', '/6.2/suggest.json', {
        'app_id': 'APP_ID',
        'app_code': 'APP_CODE',
        'query': '123 Main Street',
        'country': 'USA',
        'language': 'en',
      });

И я предлагаю использовать пакет http и сделайте что-то подобное:

import 'package:http/http.dart' as http;
import 'dart:convert';


final json = const JsonCodec();
getSuggest() async {
    try {
      var uri = Uri.http(
          'autocomplete.geocoder.api.here.com', '/6.2/suggest.json', {
        'app_id': 'APP_ID',
        'app_code': 'APP_CODE',
        'query': '123 Main Street',
        'country': 'USA',
        'language': 'en',
      });
      var response = await http.get(uri);
      var data = json.decode(response.body);
      print(data);
    } catch (error) {
      print(error);
    }
  }

и используйте его http client, если вам нужно установить гораздо больше вещей (например, User Agents).

...