// 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");
}
});
}
运行结果