flutter / dart http工具类封装

// ignore_for_file: unrelated_type_equality_checks, depend_on_referenced_packages
import 'dart:async';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;

Future<Map<String, dynamic>> get(uri) {
  final completer = Completer<Map<String, dynamic>>();
  Uri url = Uri.parse(uri);
  Map<String,String> headers = {"Authorization":"11111"};
  http.get(url,headers:headers).then((res) => {
    // if(res.statusCode != '200'){
    //  TODO 非200处理
    // }
    completer.complete(jsonDecode(utf8.decode(res.bodyBytes)) as Map<String,dynamic>)
  }).catchError((error){
    debugPrint(error);
  });
  return completer.future;
}

Future<Map<String, dynamic>> post(uri,Map<String,String> params) {
  final completer = Completer<Map<String, dynamic>>();
  Uri url = Uri.parse(uri);
  Map<String,String> headers = {"Authorization":"11111",
    'Content-type' : 'application/json',
    'Accept': 'application/json'};
  http.post(url,body:params,headers:headers).then((res) => {
    // if(res.statusCode != '200'){
    // TODO 非200处理
    // }
    completer.complete(jsonDecode(utf8.decode(res.bodyBytes)) as Map<String,dynamic>)
  }).catchError((error){
    debugPrint(error);
  });
  return completer.future;
}

调用实例

import 'package:flutter/material.dart';
import 'common/http_utils.dart' as http_utils;

Future<void> main() async {
  http_utils.get("http://***:8084/appApi/getApplicationNameList").then((decodedResponse){
    List<dynamic> list = decodedResponse['data'];
    for(dynamic s in list){
      debugPrint("1111$s");
    }
  });
}

运行结果
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sleeper01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值