一 content-Type代表的是,傳輸數據的編碼方式
當ajax,JS向后台發起請求的時候,常常會設置content-type,告知服務器前台傳輸的數據是什么編碼方式
1 application/x-www-form-urlencoded(ajax,form默認)
提交的數據按照 key1=val1&key2=val2 的方式進行編碼,key 和 val 會進行了 URL 轉碼。大部分服務端語言都對這種方式有很好的支持。Java可以通過Request.getParameter("key")和@RequestParameter("key")獲取值
2 application/json
Content-Type 必須設置為 application/json,前台傳輸的必須是json格式字符串
3 multipart/form-data
當我們表單上傳文件的時候,就必須要使用該值。並且表單上傳文件的時候,一定要注意以下事項:
切記不要點擊到了binary上傳文件,不然后台無法接受
4 text/plain
對傳輸數據不進行編碼
二 POST 不等於 json傳輸
POST 常有兩種傳輸數據編碼方式,以前誤以為只要是POST就是JSON傳輸
1 application/x-www-form-urlencoded
2 application/json
三 @RequestBody
1 可以封裝一個參數
public ActionResponse login(@RequestBody String json) {
System.out.println(json);
return ActionResponse.success();
}
//結果
/*
{
"account": "adai",
"password": "123"
}
*/
2 最好和consumes = "application/json" 一起使用
@RequestBody 表示 服務器接受的數據一定是 JSON
作者:
一杯熱咖啡AAA
出處: https://www.cnblogs.com/AdaiCoffee/
本文以學習、研究和分享為主,歡迎轉載。如果文中有不妥或者錯誤的地方還望指出,以免誤人子弟。如果你有更好的想法和意見,可以留言討論,謝謝!
出處: https://www.cnblogs.com/AdaiCoffee/
本文以學習、研究和分享為主,歡迎轉載。如果文中有不妥或者錯誤的地方還望指出,以免誤人子弟。如果你有更好的想法和意見,可以留言討論,謝謝!