记录Flutter GET POST

导入http :
 

http: ^0.12.2

Future异步get方式:
 

  postTest().then((value) => {
                    setState(() {
                      print("请求结果:${value.toString()}");
                      runPost();
                    })
                  });


   postTest() async {
    var uri = Uri.parse(
        'http://www.devio.org/io/flutter_app/json/test_common_model.json');
    //get
    var response = await http.get(uri);


    print('Response status: ${response.statusCode}');
    print('Response body: ${Utf8Decoder().convert(response.bodyBytes)}');

    return  Utf8Decoder().convert(response.bodyBytes));
  }

FutureBuilder 异步携带请求进度状态 Post方式:

 //异步处理 ,携带状态,更符合实际生产
          FutureBuilder<String>(
              future: test(),
              builder: (context, shot) {
                switch (shot.connectionState) {
                  case ConnectionState.active:
                    return Text("active....");
                  case ConnectionState.waiting:
                    return Center(
                      child: CircularProgressIndicator(),
                    );
                  case ConnectionState.done:
                    var text = Text("");
                    if (shot.hasError)
                      text = Text("error:${shot.error.toString()}");
                    else
                      text = Text("done:${shot.data.toString()}");

                    return text;
                  case ConnectionState.none:
                    return Text("none....");
                }
              })



  Future<String> test() async {
    var url = Uri.parse('https://example.com/whatsit/create');
    var response =
        await http.post(url, body: {'name': 'doodle', 'color': 'blue'});
    print('Response status: ${response.statusCode}');
    print('Response body: ${Utf8Decoder().convert(response.bodyBytes)}');
    return Utf8Decoder().convert(response.bodyBytes);
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值