详解get与post请求方式、content-type与responseType、@Requestbody与@Requestparam的使用场景
一. get與post請求方式
post:一般用來提交表單,請求數據被包裝在body體中,是安全的;
get:一般用來獲取數據信息,當然也可以用來獲取表單,請求參數在url中,是不安全的;
二. content-type與responseType
1. content-type
contype-Type用來指定不同格式上傳參數的請求信息(頁面——>服務器)。
content-Type常用數據類型:
application/json:把它作為請求頭,則傳遞的消息主體是序列化后的 JSON 字符串。格式如下圖所示:
application/x-www-form-urlencoded:form表單默認的數據格式,提交的數據按照 key1=val1 & key2=val2 的方式進行編碼,key 和 val 都進行了 URL 轉碼(ajax默認的Content-Type類型)。格式示例如下圖所示:
2. responseType
responseType用來指定后臺返回響應數據的類型(服務器——>頁面)。
三. @Requestbody與@Requestparam
1. @RequestParam
@RequestParam接收的參數是來自requestHeader中,即請求頭。通常用于GET請求,像POST、DELETE等其它類型的請求也可以使用。
2. @RequestBody
@RequestBody接收的參數是來自requestBody中,即請求體。一般用于處理非 Content-Type: application/x-www-form-urlencoded編碼格式的數據,比如:application/json、application/xml等類型的數據。通常用于接收POST、DELETE等類型的請求數據,GET類型也可以適用。
注意點:
- 項目中要加入處理json字符串的依賴(jar包),如jackson
- @RequestBody主要用來接收前端傳遞給后端的json字符串中的數據的(請求體中的數據的),所以只能發送POST請求
- jQuery中,$.ajax()默認發送的參數類型及編碼為:application/x-www-form-urlcoded,而@RequestBody處理的參數類型及編碼為:aplication/json或者是application/xml,通過contentType屬性來指定
- 在傳遞之前,對JSON對象要使用JSON.stringify(),JSON.stringify() 方法將一個 JavaScript 值(對象或者數組)轉換為一個 JSON 字符串
- 一個請求,只有一個RequestBody
總結
以上是生活随笔為你收集整理的详解get与post请求方式、content-type与responseType、@Requestbody与@Requestparam的使用场景的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【解题报告】Leecode 643. 子
- 下一篇: 通俗易懂两种常用的多线程实现方式——Ja