Springboot 前后端數據傳輸 常見誤區


一 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/
本文以學習、研究和分享為主,歡迎轉載。如果文中有不妥或者錯誤的地方還望指出,以免誤人子弟。如果你有更好的想法和意見,可以留言討論,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM