文章目录

  • 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数据相关推荐

  1. vue axios传递FormData填坑,headers不显示,后台报错等等问题

    vue axios传递FormData填坑,headers不显示,后台报错等等问题 你可能在以下vue axios的FormDara的文件上传中,有headers不显示问题,或遇到了以下报错 org. ...

  2. axios向springboot后台传递json数据

    小白遇坑 刚开始我是用get方法来传递json数据,但是总是报错:Required request body is missing,我人傻了,对着这个错误百度了半天,才发现,原来axios get请求 ...

  3. 前台传递JSON数据,后台spring mvc如何接收数据

    如何传递JSON数据到后台? 方式一, 使用post请求,请求类型为:application/x-www-form-urlencoded; charset=UTF-8 $.ajax({url : ur ...

  4. vue通过axios获取json数据

    文章目录 前言 一.axios的安装 二.通过axios.get()方法获取json数据 2.1下面的代码是通过axios.get()获取json数据 2.2显示json数据 总结 前言 今天学习了通 ...

  5. SpringMVC绑定ajax传递json数据到pojo对象错误(400 Bad Request)

    问题如标题所述,ajax向SpringMVC Controller传递JSON数据,遇到了错误"Failed to load resource: the server responded w ...

  6. android post json格式,Android中post请求传递json数据给服务端的实例

    在最近的项目中有个需求是这样的: 入参封装成JSON,EXAMPLE: { "uuid": "iamauuid","clientType": ...

  7. Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)

    form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...

  8. android json传输数据到服务器,Android中post请求传递json数据给服务端的实例

    在最近的项目中有个需求是这样的: 入参封装成JSON,EXAMPLE: { "uuid": "iamauuid", "clientType" ...

  9. vue之猫眼json数据的获取直接用于自己的vue项目中,swiper轮播插件的坑

    vue之猫眼json数据的获取直接用于自己的vue项目中 遇到问题总结: 加载不出猫眼数据,无法调用,数据被限制 猫眼电影图片的拼接及删除问题 swiper的迷幻坑** 首先来说一下第一问题 加载不出 ...

最新文章

  1. 习题10-3 递归实现指数函数 (15 分)
  2. ajax与axios使用哪个好,ajax、axios、fetch之间的详细区别以及优缺点
  3. 弹幕炸了!OpenAI直播大秀语音指挥AI自动编程,也就比老罗TNT强亿点点
  4. redis基础整理(转载+与python结合)
  5. Sql语句查询当天本周本月记录的where条件
  6. Hbuilder开发HTML5 APP之图标和启动页制作
  7. 记录——《C Primer Plus (第五版)》第七章编程练习第四题
  8. 2022-01-28总结 CSS复合选择器
  9. R语言并行计算的原理和案例
  10. 深入理解java内置锁(synchronized)和显式锁(ReentrantLock)
  11. listview控件在php的使用方法,VBA窗体之ListView控件的基本应用 | VBA实例教程
  12. html设置flash的背景颜色,flash 如何设置舞台大小和背景颜色?
  13. 方维团购V3.07版本短信接口开发
  14. excel中添加有效性验证或数据验证时不选择第一行列标题的解决方法
  15. S7-200SMART PLC基础知识汇总
  16. 环境变量的作用,为什么要要设置环境变量PATH
  17. [BZOJ]4180: 字符串计数 SAM+矩阵乘法+二分
  18. 练习------复仇者联盟(设置一个立体盒子)
  19. jmeter 之 BSF,BeanShell(转载)
  20. 剑指offer 专项突破版 73、狒狒吃香蕉

热门文章

  1. vue 项目中分别使用 vue-pdf 插件和内嵌 iframe 实现 PDF 文件预览,缩放,旋转,下载,保存等功能 ?
  2. 在xp系统电脑上建立宽带连接服务器吗,windows 7与windows xp创建宽带连接的方法-电脑教程...
  3. 提升企业团队凝聚力的四步法
  4. 爱普生Epson PictureMate 240 打印机驱动
  5. 经典小游戏(密室逃脱全集+答案)
  6. 镜头和相机的匹配问题
  7. Discuz文章采集工具,Dz文章采集发布工具
  8. Studing Day3 - python基础3
  9. 计算机硬盘ssd,电脑有没有必要装固态硬盘的建议
  10. 本以为java语言很难学,其实就学完下面这些知识,就能理解了