【问题标题】:I can not assign URL link to http.get() [duplicate]我无法将 URL 链接分配给 http.get() [重复]
【发布时间】:2021-06-02 21:18:51
【问题描述】:

我尝试使用 http 包,但我无法将 URL 链接分配给 http.get(),这表明我无法将字符串分配给参数 Uri。

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import  'dart:async';
import 'dart:convert';

class MyHomePage extends StatefulWidget {
  final String title;
  MyHomePage({Key key, this.title}) : super(key: key);

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  Future<List<User>> _getUsers(){
    http.get("http://www.json-generator.com/api/json/get/crbzxbbLIi?indent=2");
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: new Text(widget.title),
      ),
      body: Container(

      ),
    );
  }
}

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    要将您的 URL 字符串转换为 Uri,您只需使用 Uri.parse(url)

    代码示例

    class _MyHomePageState extends State<MyHomePage> {
      Future<List<User>> _getUsers() {
        http.get(Uri.parse("http://www.json-generator.com/api/json/get/crbzxbbLIi?indent=2"));
      }
    
     // ...
    }
    

    【讨论】:

      【解决方案2】:

      您必须使用 Uri :

      https://flutter.dev/docs/cookbook/networking/fetch-data

      Future<http.Response> fetchAlbum() {
        return http.get(Uri.https(w.json-generator.com/api/json/get/crbzxbbLIi?indent=2"));
      }
      

      【讨论】:

        猜你喜欢
        • 2011-04-21
        • 1970-01-01
        • 1970-01-01
        • 2015-01-31
        • 2010-10-07
        • 2020-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多