problem in making http.get() request in flutter

17,217

Solution 1

first import http as http

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

then parse your link to Uri using

var url = Uri.parse('https://www.googleapis.com/books/v1/volumes?q={http}');
http.Response response = await http.get(url);
try {
  if (response.statusCode == 200) {
    String data = response.body;
    var decodedData = jsonDecode(data);
    return decodedData;
  } else {
    return 'failed';
  }
} catch (e) {
  return 'failed';
}

Solution 2

Try this (Add http to pubspec.yaml under dependencies):

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

var response = http.get(Uri.parse('https://www.google.com'));

Solution 3

If still doesn't work try this:

import 'package:http/http.dart';

var response = get(Uri.parse('https://www.google.com'));

Solution 4

You passing string the error says need an uri so create an uri and use in it.

var uri = new Uri.http("example.org", "/path", { "q" : "{http}" });
Share:
17,217
Admin
Author by

Admin

Updated on June 04, 2022

Comments

  • Admin
    Admin over 1 year

    i am learing about api's and http request in flutter and i am facing problem in making a get request as in any tutorial they are directly pasting string url inside get as parameter but when i post it as string it is showing error: The argument type 'String' can't be assigned to the parameter type 'Uri'.

    can any one help me in this : this is my sample code :

    import 'dart:convert' as convert;
    import 'package:http/http.dart' as http;
    
    void main(List<String> arguments) async {
      // This example uses the Google Books API to search for books about http.
      // https://developers.google.com/books/docs/overview
      var url = 'https://www.googleapis.com/books/v1/volumes?q={http}';
    
      // Await the http get response, then decode the json-formatted response.
      var response = await http.get(url); // i am getting error here
      if (response.statusCode == 200) {
        var jsonResponse = convert.jsonDecode(response.body);
        var itemCount = jsonResponse['totalItems'];
        print('Number of books about http: $itemCount.');
      } else {
        print('Request failed with status: ${response.statusCode}.');
      }
    }
    

    here is image of my code with error

    enter image description here