精选文章 flutter 实现put请求

flutter 实现put请求

作者:null_null999 时间: 2019-11-04 11:17:26
null_null999 2019-11-04 11:17:26
 static Future> put(String url, {data, method}) async {
    data = data ?? {};
    method =   'PUT';

    Dio dio = createInstance();
   
    data.forEach((key, value) {
      if (url.indexOf(key) != -1) {
        url = url.replaceAll(':$key', value.toString());
      }
    });
    data.forEach((key, value) {
      para = para+"${key}=${value}&";
    });
    para = para.substring(0,para.length-1);

    print(">>>${para}");
   para = encodeBase64("type=check");
   // url = url+"?"+"payload=${para}";
    /// 打印请求相关信息:请求地址、请求方式、请求参数
    print('请求地址:【' + method + '  ' + url + '】');
    print('请求参数:' + data.toString());
    Map resultpara = Map();

    resultpara["payload"]= para;
    var result;
    try {
      Response response = await dio.request(url,queryParameters:data,data: "payload=${para}",
           options: new Options(method: method));

      result = response.data;

      /// 打印响应相关信息
      print('响应数据:' + response.toString());
    } on  Error catch (e) {
      /// 打印请求失败相关信息
      print('请求出错:' + e.toString());
      Fluttertoast.showToast(msg: "请求出错");
      dio.reject(e);
     // rethrow;
    }

    return result;
  }

关键是url参数放在queryparameters里面,payload参数放在data里面。网上的很多都没有用,可能是我们后端实现不规范的原因吧

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:java面试题——中间件&&数据库&&redis(三)

下一篇:Win10 安装 Anaconda3 用 Anaconda3 安装TensorFlow 1.2 (只支持python3.5)

您可能感兴趣

  • Hasor Dataway使用教程

    绝了!这款工具让SpringBoot不再需要Controller、Service、DAO、Mapper! 来自:开源中国,作者:哈库纳 链接:https://my.oschina.net/ta8210/blog/3234639 Dataway介绍 Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具,使得使用者无需开发任何代码就配置一个满足需求的接口。整个接口配置...

  • RestAPI的进化之路,后端MVVM模式或许来临,通过观察者模式,后端收集前端的GET类请求,主动推送数据变更到前端

    RestAPI的进化之路,后端MVVM模式或许来临,通过观察者模式,后端收集前端的GET类请求,主动推送数据变更到前端 最近几年,前端MVVM模式彻底变革了前端的开发模式,那这股火焰会烧到后端嘛? 我想答案应该是肯定的,后端通过改进RestAPI,所有调用GET类型或者其他方式获取数据的HTTP请求(或者其他协议),后端都应该收集此请求的调用者的请求IP:Port等信息,这个后端可以通过观察...

  • ElasticSearch笔记02-文档操作

    1 索引一个文档 将数据存储至es。 关于文档ID 文档通过index API被索引——使数据可以被存储和搜索。但是首先我们需要决定文档所在。正如我们讨论的,文档通过其_index、_type、_id唯一确定。们可以自己提供一个_id,或者也使用index API 为我们生成一个。 使用自己的ID 如果你的文档有自然的标识符(例如user_account字段或者其他值表示文档),你就可以提供...

  • 你应该了解的Nacos注册中心

    背景 前段时间有新闻报道,国外HashiCorp在官网宣布:不允许中国境内使用、部署和安装该企业旗下的企业版产品和软件。 其中Consul是Java的spring cloud开发者非常熟悉的一个服务发现和配置中心的中间件,很多人担心是否Consul会受到影响,目前来看HashiCorp只是对商业版进行了禁止使用,还没有对开源版本进行限制,所以使用Consul的小伙伴不用担心。但是随着时间的发...

  • 当遇到跨域开发时, 我们如何处理好前后端配置和请求库封装(koa/axios版)

    我们知道很多大型项目都或多或少的采用跨域的模式开发, 以达到服务和资源的解耦和高效利用. 在大前端盛行的今天更为如此, 前端工程师可以通过nodejs或者Nginx轻松搭建起web服务器.这个时候我们只需要请求后端服务器的接口即可实现系统的业务功能开发.这个过程中会涉及到web页面向API服务器的跨域访问(由于受到浏览器的同源策略,但是业界已有很多解决方案,接下来会介绍).通过这种开发模式使...

  • 集合类面试题

    集合类面试题 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。 集合框架...

  • 京东T10用后台系统+京东商城两大项目实战带你吃透SpringBoot

    这两大项目实战是基于Spring Boot 2.X版本,采用“知识点+实例”的形式编写,通过58 个基于知识的实例+2个综合性的项目(开发企业级通用的后台系统+实现一个类似“京东"的电子商务商城),全面深入地讲解了Spring Boot的主要技术原理和应用。 PDF把晦涩难懂的理论通过图文结合的方式讲解,把不便理解的名词用通俗化的文字进行讲解,将每个抽象的知识点用具化的实例进行展现。这使读者...

  • Java中守护线程和本地线程区别,这特么太重要了!

    1.Java中守护线程和本地线程区别 java中的线程分为两种:守护线程(Daemon)和用户线程(User)。 任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。 两者的区别: 唯一的区别...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。