這篇文章主要介紹了Java axios與spring前后端分離傳參的方法是什么的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Java axios與spring前后端分離傳參的方法是什么文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)澗西免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
以下面的這段Spring java代碼為例,接口使用POST協(xié)議,需要接受的參數(shù)分別是tsCode、indexCols、table。針對(duì)這個(gè)Spring的HTTP接口,axios該如何傳參?有幾種方法?我們來(lái)一一介紹。
@PostMapping("/line") public List extends BaseEntity> commonEChart(@RequestParam String tsCode, @RequestParam String indexCols, @RequestParam String table){
使用axios實(shí)例的params進(jìn)行傳參,就會(huì)將params參數(shù)格式化為x-www-form-urlencoded的格式,與后端參數(shù)一一對(duì)應(yīng)即可傳參成功。這也是我向大家推薦的傳參方法!
return request({ url: '/chart/line', method: 'post', params: { //注意這里的key是params tsCode, indexCols, table } })
還可以使用js的FormData對(duì)象進(jìn)行參數(shù)格式化,同樣可以在Spring后端正確的使用@RequestParam
注解進(jìn)行參數(shù)接收。
let params = new FormData(); params.append('tsCode', tsCode); params.append('indexCols', indexCols); params.append('table', table); return request({ url: '/chart/line', method: 'post', data: params //注意這里的key是data })
還可以使用qs.stringfy
進(jìn)行參數(shù)格式化,同樣可以在Spring后端正確的使用@RequestParam
注解進(jìn)行參數(shù)接收。
import qs from "qs"; return request({ url: '/chart/line', method: 'post', data: qs.stringify({ //注意這里的key是data tsCode, indexCols, table }) })
需要注意的是使用這種方法,需要手動(dòng)設(shè)置header(Content-Type)
const service = axios.create({ headers: { "Content-Type": "application/x-www-form-urlencoded" } });
java代碼部分如下所示,DemoModel類是一個(gè)實(shí)體類,包含名稱tsCode,indexCols,table三個(gè)字符串成員變量。接收到的JSON格式參數(shù)會(huì)自動(dòng)為demo對(duì)象的成員變量賦值。
@PostMapping("/line") public List extends BaseEntity> commonEChart(@RequestBody DemoModel demo){
@RequestBody
注解,默認(rèn)接收J(rèn)SON類型格式的數(shù)據(jù)。在axios中默認(rèn)data傳參就會(huì)默認(rèn)使用JSON數(shù)據(jù)格式,所以不用額外的特殊處理。
return request({ url: '/chart/line', method: 'post', data: { //注意這里的key是data tsCode, indexCols, table } })
關(guān)于“Java axios與spring前后端分離傳參的方法是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Java axios與spring前后端分離傳參的方法是什么”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。