向API请求时application/json和application/x-www-form-urlencoded两种参数格式


四种常见的 POST提交数据方式

这里只讲两种常用方式:enctype 为application/json   和enctype :application/x-www-form-urlencoded

enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。默认表单数据会编码为 “application/x-www-form-urlencoded”。也就是在发送到服务器之前,所有字符都会进行编码(空格转换为 “+” 加号,特殊符号转换为 ASCII HEX 值等)。

enctype可选项有以下四种:

 

 

 现在主要分享HTTPS协议规定 POST 提交的API接口数据时  ContentType:application/json   和 ContentType:application/x-www-form-urlencoded 的参数格式

当向API接口post请求方式为application/json

  1. 接口所需要的参数格式为键值对格式:  {"pageNumber":1,"pageSize":500,"status":"FINISH","formCodeIds":["c91234737d0c4ea2904d93d5c1fd1603"],"createTime":[1604160000000,1606406400000]}

    如果不知道如何从string类型转换为键值对的话,这里有个笨方法如下:

   将所需要的转换的键值对以对象的形式进行实例化赋值

    1,创建类,并添加对应属性public int pageNumber { get; set; },

    public class ProcesslistK
    {
        public int pageNumber { get; set; }
        public int pageSize { get; set; }
        public string status { get; set; }
        public string[] formCodeIds { get; set; }
        public long[] createTime { get; set; }
    }

    2,实例化该类  Processlist pr = new Processlist();,并赋值 pr.pageNumber = 1;

    3,最后一步,以JSON形式封装该类   string data= JsonConvert.SerializeObject(pr);

     ProcesslistK pr = new ProcesslistK();

            pr.formCodeIds =formCodeIds;
            pr.createTime = createTime;
            pr.status = status;
            pr.pageNumber = 1;
            pr.pageSize = 500;
      string data= JsonConvert.SerializeObject(pr);

  这样最终的参数格式就是application/json所需要的格式(这里创建的新类Processlist,实属没必要,可以创建一个空类实例化赋值)

      

 

当向API接口post请求方式为application/x-www-form-urlencoded

  1,接口所需要的参数格式: "eid=15012309&day=2020-11-17 &start = 1&limit = 200"

  2,这种格式拼接字符即可

 

请求API时一定要弄清不同类型下对应的格式,不然很容易出问题的

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM