一、前端传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")
@ResponseBody
public 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后端文章来源:https://www.toymoban.com/news/detail-606961.html
@RequestMapping("/api/deleteUserById")
@ResponseBody
public 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是不同的。文章来源地址https://www.toymoban.com/news/detail-606961.html
$.ajax({
url: 'http://127.0.0.1:8080/api/deleteUserById',
type: 'POST', // 或者其他请求方法,例如'GET', 'DELETE', 'PUT'等
contentType: 'application/json', // 指定请求的数据类型为JSON
data: JSON.stringify(paras), // 将JSON对象转换为JSON字符串并设置为请求体数据
success: function(response) {
if(response){
$.messager.alert("信息提示","删除成功!");
}else{
$.messager.alert("信息提示","删除失败!");
}
},
error: function(error) {
console.error('请求失败', error);
}
});
到了这里,关于关于axios请求java接口中的@RequestParam、@PathVariable及@RequestBody不同接参类型的用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!