向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