当前位置: 首页 > news >正文

关于axios请求java接口中的@RequestParam、@PathVariable及@RequestBody不同接参类型的用法

一、前端传json对象,后端指定接收json对象中的哪个参数。
(1)前端请求

axios({//请求方式method:'post',//后端接口路径url:'http://127.0.0.1:8080/api/deleteUserById',//注意这里使用的是params,该属性负责把属性名和属性值添加到url后面,一般和get配合使用,但也能    和post配合使用params: {id: id}
}).then((response) => {if(response){$.messager.alert("信息提示","删除成功!");}else{$.messager.alert("信息提示","删除失败!");}
}).catch((error) => {console.error('请求失败', error);
})

(2)后端接口(接参方式)

   //根据ID删除用户 请使用@RequestMapping(value = "/api/deleteUserById")@ResponseBodypublic boolean deleteUserById(@RequestParam(value="id",required = true) Integer id) {int rowsDeleted = userMapper.deleteUserById((long)id);if (rowsDeleted > 0) {return true;} else {return false;}}

二、axios使用restful规范的get请求,后端使用@PathVariable接参
后端接口路径+属性值;注意!!!路径后面有反斜杠/,注意不要写漏了,不然value就会变成路径的一部分,请求路径就会变成/sys/test后面跟上value的值,从而导致404
(1)前端请求:

//方法名为test,传入数据value
function test(value) {axios({//请求方式method:'get',url:'/sys/test/'+value,}).then((response) => {//response是一个返回的promise对象,该注释所在的这行一般对该promise对象进行处理从而获取数据}).catch((error) => {//对error进行处理})
}

(2)Java后端

//使用restful请求时对应的接收
@GetMapping("/sys/test/{accept}")
public void test(@PathVariable("accept") String(传进来的数据的类型) attributeName){//axios使用restful的方式进行传值,而Java就需要用到@PathVariable来接收url后的值,/sys/test/{accept}里的accept必须和@PathVariable("accept")里的accept名字一致,而且一个请求能拥有多个@PathVariable
}

三、@RequestBody接收类型
(1)前端请求

let id = $("#id").val();
let paras = {id: id
}
axios.post('http://127.0.0.1:8080/api/deleteUserById',paras).then(function (response){if(response){$.messager.alert("信息提示","删除成功!");}else{$.messager.alert("信息提示","删除失败!");}
})

(2)Java后端

    @RequestMapping("/api/deleteUserById")@ResponseBodypublic boolean deleteUserById(@RequestBody User user) {long id=user.getId();int rowsDeleted = userMapper.deleteUserById((long)id);if (rowsDeleted > 0) {return true;} else {return false;}}

(3)前端也可以使用ajax请求,但是注意data:JSON.stringify(paras)的写法与axios是不同的。

$.ajax({url: 'http://127.0.0.1:8080/api/deleteUserById',type: 'POST', // 或者其他请求方法,例如'GET', 'DELETE', 'PUT'等contentType: 'application/json', // 指定请求的数据类型为JSONdata: JSON.stringify(paras), // 将JSON对象转换为JSON字符串并设置为请求体数据success: function(response) {if(response){$.messager.alert("信息提示","删除成功!");}else{$.messager.alert("信息提示","删除失败!");}},error: function(error) {console.error('请求失败', error);}});
http://www.lryc.cn/news/98261.html

相关文章:

  • 两个点云的重叠部分查找(附open3d python 代码)
  • PDF文件转换成word软件有哪些?分享两个文件格式转换软件
  • redis数据库
  • SpringMVC-mybatis,SQL语句中误用了desc关键字,导致报错。
  • adb笔记
  • RocketMQ教程-(5)-功能特性-顺序消息
  • Oracle TNS侦听器远程中毒(CVE-2012-1675)
  • Springboot+Netty
  • window.location.href is not a function
  • STM32+FPGA的导常振动信号采集存储系统
  • Eclipse memory analyzer 分析GC dump日志定位代码问题
  • DSA之图(3):图的遍历
  • 从零开始学习 Java:简单易懂的入门指南之for循环(四)
  • Android 之 http/https原理和机制
  • mybatis源码研究、搭建mybatis源码运行的环境
  • 【算法基础:搜索与图论】3.5 求最小生成树算法(PrimKruskal)
  • 扩展Ceph集群实现高可用
  • 代码随想录 DAY45
  • Centos报错:[Errno 12] Cannot allocate memory
  • 手把手教你怎么写顺序表
  • FPGA中RAM的结构理解
  • 家庭用的无线洗地机到底好不好用?2023洗地机品牌排行榜前十名
  • [React]常见Hook实现之useUpdateEffect
  • 为什么视频画质会变差,如何提升视频画质清晰度。
  • 【uni-app2.0】实现登录页记住密码功能
  • IDEA live templates
  • 电子鼻毕业论文
  • 8 | 爬虫解析利器 PyQuery 的使用
  • 2023年 React 最佳学习路线
  • 使用 ChatGPT 进行研究的先进技术