postbody传参_post传参params与body的区别(@RequestParam和@RequestBody的区别)
1.axios post請(qǐng)求??Content-Type默認(rèn)為 application/x-www-form-urlencoded,我們傳遞參數(shù)的時(shí),params里面的參數(shù)(簡單的對(duì)象,通過 "{}" 或者 "new Object" 創(chuàng)建的)會(huì)被以&拼接的方式拼接到請(qǐng)求地址的后面,data里面的參數(shù)(簡單的對(duì)象,通過 "{}" 或者 "new Object" 創(chuàng)建的)會(huì)以Form Data的形式存在,但是Form Data里面把我們傳進(jìn)去的整體當(dāng)成了一個(gè)key值,沒有value
解決方法是:導(dǎo)入qs庫(qs庫已經(jīng)包含在axios中,不需要重新安裝),data里面的參數(shù)使用qs.stringify方法來轉(zhuǎn)換,轉(zhuǎn)換之后后端才能正常獲取
2.post請(qǐng)求當(dāng)Content-Type設(shè)置為application/json;時(shí),params(簡單對(duì)象)里面的參數(shù)仍然會(huì)被拼接到請(qǐng)求連接后面,但是data(簡單對(duì)象)里面的參數(shù)是放到Request Payload中
3.@RequestParam和@RequestBody的區(qū)別
若后端使用@RequestParam?來接收前端傳過來的參數(shù)的,Content-Type要設(shè)置為application/x-www-form-urlencoded,并且需要對(duì)data使用qs.stringify來進(jìn)行轉(zhuǎn)換;
若后端使用@RequestBody 來接收前端傳過來的參數(shù)的,Content-Type要設(shè)置為application/json;
總結(jié)
以上是生活随笔為你收集整理的postbody传参_post传参params与body的区别(@RequestParam和@RequestBody的区别)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个霸道个性签名!
- 下一篇: 谁认识猫咪的四叶草?