如何解决@RequestParam无法接收vue+axios传递json数据
文章目录
- axios的post请求无法发送到后端
- 1.问题 : axios的post的传递的json数据无法接收
- 2.问题代码
- 3.问题归因
- 4.问题解决
- 5.查漏补缺
axios的post请求无法发送到后端
1.问题 : axios的post的传递的json数据无法接收
问题背景:SpringBoot+Vue测试开发项目前后端联调,发现axios的post请求向后端传递的参数,后台无法收到。
2.问题代码
public CommonResult TestDriver(@RequestParam(value = "tests",required = false)String test_txt,) throws IOException {
后台controller可以被触发,但是无法接收到参数"tests",required = true 时就报body中无tests。
axios.post(url,{"tests":this.input_tests}).then((info)=>{this.input_tests=this.input_tests + "/n" + info.data.data
})
3.问题归因
test_txt 是空值无法接收到。这就涉及到了Content-Type问题,@RequestParam 这种用postman测试可以得到正确结果,但是我没有注意到请求是application/x-www-form-urlencoded 形式的。
但是通过分析axios源码发现前端传的数据是json格式的,所以数据格式应该是application/json格式的。
4.问题解决
@RequestMapping(value = "/getToken",method = RequestMethod.POST,consumes = "application/json;charset=UTF-8")@ResponseBodypublic CommonResult testExcute(@RequestBody JSONObject jsonObject){String test_txt =jsonObject.getString("tests");
5.查漏补缺
RequestBody 接收的是请求体里面的数据;
RequestParam接收的是key-value
public CommonResult getServe(HttpServletRequest request,@RequestParam(value = "cid",required = false)Integer cid,@RequestParam(value = "url",required = true)String url,@RequestParam(value = "name",required = false)String name,@RequestParam(value = "method",required = false)String method,@RequestParam(value = "type",required = false)String type) throws IOException {
如果参数时放在请求体中,application/json传入后台要用@RequestBody才能接收到。
我发现之前组员的项目中用到过这种写法
@PostMapping(value="/login",consumes = "application/json;charset=UTF-8")public String login(@RequestBody User user) throws Exception{}
这种参数是一个对象的写法,并且用@RequestBody修饰的,前后端连接时需要满足一些要求。
@RequestBody修饰的类,json字符串的key值对应实体类的值,也就是user的name对应json数组"name"的值。
@RequestBody修饰的类,json字符串的key值对应实体类的值,也就是user的name对应json数组"name"的值。
如何解决@RequestParam无法接收vue+axios传递json数据相关推荐
- vue axios传递FormData填坑,headers不显示,后台报错等等问题
vue axios传递FormData填坑,headers不显示,后台报错等等问题 你可能在以下vue axios的FormDara的文件上传中,有headers不显示问题,或遇到了以下报错 org. ...
- axios向springboot后台传递json数据
小白遇坑 刚开始我是用get方法来传递json数据,但是总是报错:Required request body is missing,我人傻了,对着这个错误百度了半天,才发现,原来axios get请求 ...
- 前台传递JSON数据,后台spring mvc如何接收数据
如何传递JSON数据到后台? 方式一, 使用post请求,请求类型为:application/x-www-form-urlencoded; charset=UTF-8 $.ajax({url : ur ...
- vue通过axios获取json数据
文章目录 前言 一.axios的安装 二.通过axios.get()方法获取json数据 2.1下面的代码是通过axios.get()获取json数据 2.2显示json数据 总结 前言 今天学习了通 ...
- SpringMVC绑定ajax传递json数据到pojo对象错误(400 Bad Request)
问题如标题所述,ajax向SpringMVC Controller传递JSON数据,遇到了错误"Failed to load resource: the server responded w ...
- android post json格式,Android中post请求传递json数据给服务端的实例
在最近的项目中有个需求是这样的: 入参封装成JSON,EXAMPLE: { "uuid": "iamauuid","clientType": ...
- Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)
form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...
- android json传输数据到服务器,Android中post请求传递json数据给服务端的实例
在最近的项目中有个需求是这样的: 入参封装成JSON,EXAMPLE: { "uuid": "iamauuid", "clientType" ...
- vue之猫眼json数据的获取直接用于自己的vue项目中,swiper轮播插件的坑
vue之猫眼json数据的获取直接用于自己的vue项目中 遇到问题总结: 加载不出猫眼数据,无法调用,数据被限制 猫眼电影图片的拼接及删除问题 swiper的迷幻坑** 首先来说一下第一问题 加载不出 ...
最新文章
- 习题10-3 递归实现指数函数 (15 分)
- ajax与axios使用哪个好,ajax、axios、fetch之间的详细区别以及优缺点
- 弹幕炸了!OpenAI直播大秀语音指挥AI自动编程,也就比老罗TNT强亿点点
- redis基础整理(转载+与python结合)
- Sql语句查询当天本周本月记录的where条件
- Hbuilder开发HTML5 APP之图标和启动页制作
- 记录——《C Primer Plus (第五版)》第七章编程练习第四题
- 2022-01-28总结 CSS复合选择器
- R语言并行计算的原理和案例
- 深入理解java内置锁(synchronized)和显式锁(ReentrantLock)
- listview控件在php的使用方法,VBA窗体之ListView控件的基本应用 | VBA实例教程
- html设置flash的背景颜色,flash 如何设置舞台大小和背景颜色?
- 方维团购V3.07版本短信接口开发
- excel中添加有效性验证或数据验证时不选择第一行列标题的解决方法
- S7-200SMART PLC基础知识汇总
- 环境变量的作用,为什么要要设置环境变量PATH
- [BZOJ]4180: 字符串计数 SAM+矩阵乘法+二分
- 练习------复仇者联盟(设置一个立体盒子)
- jmeter 之 BSF,BeanShell(转载)
- 剑指offer 专项突破版 73、狒狒吃香蕉
热门文章
- vue 项目中分别使用 vue-pdf 插件和内嵌 iframe 实现 PDF 文件预览,缩放,旋转,下载,保存等功能 ?
- 在xp系统电脑上建立宽带连接服务器吗,windows 7与windows xp创建宽带连接的方法-电脑教程...
- 提升企业团队凝聚力的四步法
- 爱普生Epson PictureMate 240 打印机驱动
- 经典小游戏(密室逃脱全集+答案)
- 镜头和相机的匹配问题
- Discuz文章采集工具,Dz文章采集发布工具
- Studing Day3 - python基础3
- 计算机硬盘ssd,电脑有没有必要装固态硬盘的建议
- 本以为java语言很难学,其实就学完下面这些知识,就能理解了