溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java?axios與spring前后端分離傳參規(guī)范是什么

發(fā)布時(shí)間:2022-08-01 11:00:10 來(lái)源:億速云 閱讀:126 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了“Java axios與spring前后端分離傳參規(guī)范是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Java axios與spring前后端分離傳參規(guī)范是什么”吧!

一、@RequestParam注解對(duì)應(yīng)的axios傳參方法

以下面的這段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){

1.1.params傳參(推薦)

使用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
    }
})

1.2.FormData傳參

還可以使用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
})

1.3.qs.stringfy傳參

還可以使用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"
    }
});

二、@RequestBody的axios傳參方法

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
    }
})

感謝各位的閱讀,以上就是“Java axios與spring前后端分離傳參規(guī)范是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Java axios與spring前后端分離傳參規(guī)范是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI