回覆列表
  • 1 # java架構設計

    題主想問的應該是如何判斷一個http請求它的資料傳輸方式是表單形式還是json形式。比如我們看悟空問答的頁面其中一個請求:看它的content-type:application/json,很明顯這是一個json格式的請求。實際上現在大多數的API資料傳輸都是採用json形式的。

    Content-Type

    在http協議請求頭中,用Content-Type代表具體請求中的媒體型別資訊。例如上圖中的“content-type:application/json”。

    常見的媒體型別有如下幾種:

    text/html:HTML格式

    text/plain:純文字格式

    text/xml:XML格式

    image/gif:gif圖片格式

    image/jpeg:jpg圖片格式

    image/png:png圖片格式

    application開頭的媒體型別有:

    application/xhtml+xml:XHTML格式

    application/xml:XML資料格式

    application/atom+xml:Atom XML聚合格式

    application/json:json資料格式

    application/pdf:pdf格式

    application/msword:Word文件格式

    application/octet-stream:二進位制流資料格式(檔案下載)

    application/x-www-form-urlencoded:表單提交方式

    multipart/form-data:檔案上傳資料格式

    我們日常比較常用的就是application/json、application/x-www-form-urlencoded、multipart/form-data三種資料格式進行http請求。

    如何區分?

    瀏覽器開發者工具下直接可以檢視請求的媒體型別

    開發中,比如Java語言下采用SpringMVC框架開發,在HttpServletRequest物件中,request.getHeader("content-type")即可輸出請求的媒體型別,可以根據不同的請求型別採取對應的方式解析資料。

  • 2 # KOALA

    第一,當content-type為application/json 的時候,http post請求資料必須是json的。任何框架都必須遵守這個協議,如果不支援,則說明框架不完善。

    第二,當content-type為x-www-form-urlencoded 的時候,post的請求資料必須是表單的。其中key1和key2就是引數。

  • 中秋節和大豐收的關聯?
  • 男朋友總說誰穿的衣服好看,給你買一件,可那根本不是我的風格。他總這樣做,我跟他生氣了,是我錯了嗎?