flutter小记(6)

flutter网络请求dio

首先中文官方文档的dio链接Http请求-Dio http库
它已经记录的简单的网络请求方法。

个人使用

在我自己的日常使用中,我的使用方法是封装在一个文件里写方法。

代码如下:
import 'dart:convert';
import 'dart:io';
import 'package:dio/dio.dart';
Dio _dio = new Dio();
PostUpdate(String url, int index, int pageSize) {
  _dio.options.headers["Token-Source"] = "mobile";
  return _dio.post(url,
      data: new FormData.fromMap({
        "openid": "ouK730Pd7VvLK3X-fBeyFML30w1g",
        "page": index,
        "page_size": pageSize,
      }));
}
PostUpdateFir(String url) {
  _dio.options.headers["Token-Source"] = "mobile";
  return _dio.post(url,
      data: new FormData.fromMap({
        "openid": "ouK730Pd7VvLK3X-fBeyFML30w1g",
      }));
}

PostSearch(String url) {
  _dio.options.headers["Token-Source"] = "mobile";
  return _dio.post(url, data: new FormData.fromMap({}));
}
PostSearchres(String url, String name) {
  _dio.options.headers["Token-Source"] = "mobile";
  return _dio.post(url,
      data: new FormData.fromMap({
        "name": name,
      }));
}

通过设置_dio的options属性来添加headers头部

取post的源码为例

按住Ctrl加鼠标点击查看源码

Future<Response<T>> post<T>(
    String path, {
    data,
    Map<String, dynamic> queryParameters,
    Options options,
    CancelToken cancelToken,
    ProgressCallback onSendProgress,
    ProgressCallback onReceiveProgress,
  });
BaseOptions({
    String method,
    this.connectTimeout,
    int receiveTimeout,
    int sendTimeout,
    this.baseUrl,
    this.queryParameters,
    Map<String, dynamic> extra,
    Map<String, dynamic> headers,
    ResponseType responseType = ResponseType.json,
    String contentType,
    ValidateStatus validateStatus,
    bool receiveDataWhenStatusError = true,
    bool followRedirects = true,
    int maxRedirects = 5,
    RequestEncoder requestEncoder,
    ResponseDecoder responseDecoder,
  })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值