您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java axios與spring前后端分離傳參規范是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java axios與spring前后端分離傳參規范是什么”吧!
以下面的這段Spring java代碼為例,接口使用POST協議,需要接受的參數分別是tsCode、indexCols、table。針對這個Spring的HTTP接口,axios該如何傳參?有幾種方法?我們來一一介紹。
@PostMapping("/line") public List<? extends BaseEntity> commonEChart(@RequestParam String tsCode, @RequestParam String indexCols, @RequestParam String table){
使用axios實例的params進行傳參,就會將params參數格式化為x-www-form-urlencoded的格式,與后端參數一一對應即可傳參成功。這也是我向大家推薦的傳參方法!
return request({ url: '/chart/line', method: 'post', params: { //注意這里的key是params tsCode, indexCols, table } })
還可以使用js的FormData對象進行參數格式化,同樣可以在Spring后端正確的使用@RequestParam
注解進行參數接收。
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
進行參數格式化,同樣可以在Spring后端正確的使用@RequestParam
注解進行參數接收。
import qs from "qs"; return request({ url: '/chart/line', method: 'post', data: qs.stringify({ //注意這里的key是data tsCode, indexCols, table }) })
需要注意的是使用這種方法,需要手動設置header(Content-Type)
const service = axios.create({ headers: { "Content-Type": "application/x-www-form-urlencoded" } });
java代碼部分如下所示,DemoModel類是一個實體類,包含名稱tsCode,indexCols,table三個字符串成員變量。接收到的JSON格式參數會自動為demo對象的成員變量賦值。
@PostMapping("/line") public List<? extends BaseEntity> commonEChart(@RequestBody DemoModel demo){
@RequestBody
注解,默認接收JSON類型格式的數據。在axios中默認data傳參就會默認使用JSON數據格式,所以不用額外的特殊處理。
return request({ url: '/chart/line', method: 'post', data: { //注意這里的key是data tsCode, indexCols, table } })
感謝各位的閱讀,以上就是“Java axios與spring前后端分離傳參規范是什么”的內容了,經過本文的學習后,相信大家對Java axios與spring前后端分離傳參規范是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。