基于springboot與axios的整合問題
springboot與axios的整合
使用axios的時候一定要引用它的js包(可用npm命令:npm install axios)
1.get請求
// 為給定 ID 的 user 創(chuàng)建請求 axios.get('/demo/name') .then(function (response) { console.log(response.data); }) .catch(function (error) { console.log(error); });
response用于接收后端的數據,而response.data正好對應后端傳入的 hello
后端接收
@RequestMapping(value = "/name",method = RequestMethod.GET) @ResponseBody public String Testname(){ return "hello"; }
2.post請求
這是一段前端發(fā)送請求代碼,利用axios發(fā)送post請求
<button type="button" onclick="openUrl()">testaxios</button> <script> function openUrl(){ axios({ method: 'post', url: '/demo/user', data: { ID: 'Fred', lastName: 'Flintstone' } }); } </script>
通過chrome瀏覽器解析,往后端傳遞的數據類型為Request Payload。
如何想接收這段數據,就需要用到@RequestBody注解
@RequestMapping(value = "/user",method = RequestMethod.POST) @ResponseBody public void Test(@RequestBody HashMap<String,String> map){ System.out.println(map.get("ID")); }
這種寫法,你就可以通過健值對的形式獲取了
springboot與axios遇到的坑
spring boot
@RequestParam
適用于content-type不等于application/json的post請求,post請求需要用qs.stringify()序列化數據
適用于get請求(好像只能傳基本類型)
@RequestBody
適用于content-type等于application/json的post請求
axios
get
axios.get( '/api', { params: { //必須要這么寫 })
post
axios.post( '/api', {}或者params//參數名隨意)
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Mybatis order by 動態(tài)傳參出現的問題及解決方法
今天,我正在愉快地CRUD,突然發(fā)現出現一個Bug,我們來看看是怎么回事吧!接下來通過本文給大家介紹Mybatis order by 動態(tài)傳參出現的一個小bug,需要的朋友可以參考下2021-07-07java servlet結合mysql搭建java web開發(fā)環(huán)境
之前寫過一篇 servlet+oracle的文章,但是那是因為公司有可能接那么一個項目,然后我當時也比較閑,所以隨便學了下,那玩意是白去研究了,因為公司后面并沒接到那項目。2015-12-12