概述:本文主要讲解了flutter网络请求三种方式 flutter自带的HttpClient、 第三方库http 和 第三方库Dio 的简单实现 GET 和 POST请求,本文是笔者学习Flutter网络模块知识总结,若有问题还望不腻赐教。
一.系统自带HttpClient
1.使用中温馨提示
1.1.导入库
1 | import 'dart:io'; // 网络请求 |
1.2.Uri的多种初始化方式
1 | // 方法1 |
2.简单使用
2.1.GET请求
1 | // 1.1 HttpClient - get |
2.2.POST请求
注意点:请求参数需要编码后放在request中
1 | void loadData_sys_post() async { |
二.请求第三方库 http
1.使用中温馨提示
1.1.添加依赖
1 | dependencies: |
1.2.导入库
1 | import 'package:http/http.dart' as http; //导入前需要配置 |
2.简单使用
2.1. GET请求
2.2.1. http - get1
1 | void loadData_http_get() async { |
2.2. http - get简便方法(链式编程)
1 | void loadData_http_get_convenience() async { |
2.2. POST请求
2.2.1. http - post
1 | void loadData_http_post() async { |
2.2.2. http - Post简便方法(链式编程)
1 |
|
三.请求第三方库 Dio
1.使用中温馨提示
1.1.添加依赖
1 | dependencies: |
1.2.导入库
1 | import 'package:dio/dio.dart'; |
2.简单使用
2.1. GET请求
注意:Dio的get请求(baseUrl都是在dio.option.baseUrl设置的) 请求头可以在dio.option上设置,也可以在新建的option上设置,新建option是可选的
1 | void loadData_dio_get() async { |
2.2. POST请求
注意:
1 | dio.options.method设置是无效 |
2.2.1. dio - 方式一(baseUrl都是在dio.option.baseUrl设置的)
注意:直接在 dio.options设置除methods以外的 请求头参数
1 | void loadData_dio_dioOfOptionsSetting() async { |
2.2.2. dio - 方式二(baseUrl都是在dio.option.baseUrl设置的)
注意:在新建的option上设置请求头参数
1 | void loadData_dio_newOptionSetting() async { |