基于springboot与axios的整合问题
springboot与axios的整合
使用axios的时候一定要引用它的js包(可用npm命令:npm install axios)
1.get请求
// 为给定 ID 的 user 创建请求 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请求
这是一段前端发送请求代码,利用axios发送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//参数名随意)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
shiro实现单点登录(一个用户同一时刻只能在一个地方登录)
这篇文章主要介绍了shiro实现单点登录(一个用户同一时刻只能在一个地方登录)的相关资料,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧2016-08-08JAVA匿名内部类(Anonymous Classes)的具体使用
本文主要介绍了JAVA匿名内部类,匿名内部类在我们JAVA程序员的日常工作中经常要用到,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-08-08SpringCloud_Sleuth分布式链路请求跟踪的示例代码
Spring Cloud Sleuth是一款针对Spring Cloud的分布式跟踪工具,本文通过实例代码介绍了SpringCloud_Sleuth分布式链路请求跟踪,感兴趣的朋友跟随小编一起看看吧2023-02-02Java中ConcurrentHashMap和Hashtable的区别
ConcurrentHashMap 和 Hashtable 都是用于在Java中实现线程安全的哈希表数据结构的类,但它们有很多区别,本文就来详细的介绍一下,感兴趣的可以了解一下2023-10-10
最新评论