flutter 网络框架Dio的要注意的提交方式以及bean文件的生成

作为flutter网络请求框架的翘楚------Dio(https://pub.dev/packages/dio),插件的添加、使用,前面链接很详细。在这里说下我想记录下来的某某…

  1. 添加Header
    添加Header有两种情况
// 设置全局Header
   dio.options.baseUrl = Api.BASE_URL;
    dio.options.connectTimeout = 5 * 1000;
    dio.options.sendTimeout = 5 * 1000;
    dio.options.receiveTimeout = 3 * 1000;
   dio.options.headers = {HttpHeaders.acceptHeader:"application/json;charset=UTF-8"};

//    Map<String, dynamic> headers = new Map();
//    headers['Content-Type'] = "application/json;charset=UTF-8";
//    dio.options.headers = headers;
  // 设置单个Header
   static Map<String, dynamic> getHeader(){
    Map<String, dynamic> headers = new Map();
    headers['Content-Type'] = "application/json;charset=UTF-8";
  return headers;
  }
  
  static Future<Response> getCcTkoken(){
    return dio.get(GET_TOKEN,options: Options(headers: getHeader()));
  }

注意:单个设置的Header覆盖不了全局的Header,意思是说会出现两个Header类型

  1. 表单提交

 static Map<String, dynamic> getLoginHeader(){
    Map<String, dynamic> headers = new Map();
    headers['Content-Type'] = "application/x-www-form-urlencoded";
  return headers;
  }

 static Future<Response> login(String username, String passwd,String ccten) {

    return dio.post(LOGIN_PATH, data: {
      "username": username,
      "password": passwd,
       "ccten": ccten,
    },
  //在这设置contentType类型,系统会主动把这个请求设置为表单提交
    options: Options(headers: getLoginHeader(),contentType: ContentType.parse("application/x-www-form-urlencoded"))
    );}
  1. 生成请求对应的Bean文件
    在这里插入图片描述
    首先引入依赖:json_serializable: ^3.0.0 ; build_runner: ^1.6.1 ;json_annotation: ^2.4.0;然后打开大佬的工具(https://caijinglong.github.io/json2dart/index_ch.html
    在这里插入图片描述
    把生成的dart文件放到目录里后,如果用的是Android studio 直接打开底部导航栏Terminal,输入
flutter packages pub run build_runner build

如果用的是其他软件,可以在工程根目录下按住shift+鼠标右键,选择打开powerShell窗口,输入上面命令,即可生成对应的X.g.dart文件。
注意:如果上面依赖没依赖进去,注定会报错。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值