前端Axios各种请求参数携带方式以及后端SpringBoot方式如何接收!!!
AI-摘要
Tianli GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
目录
一.简单参数
1. 参数名与形参变量名相同,定义形参可接收参数
2.如果参数名与形参名字不同就会接收不到但是后端是不会报错的,只会赋值为null
二.实体参数
三.数组集合参数
1.数组接收:只需要后端形参的数组名与前端请求参数名字一致就可以了
2.集合接收:请求参数名与形参集合名称相同,且需要@RequestParam 绑定参数关系
四.日期参数
五.Json参数
六.路径参数
一.简单参数
1. 参数名与形参变量名相同,定义形参可接收参数
axios({
url:'http://localhost:8080/user/getPeople?username=hz&password=123456 ',
method:'GET'
}).then((res)=>{
alert(res.data.data)
})
@GetMapping("/getPeople")
public Result selectByUserNameAndPassword(String username,String password){
System.out.println("username:"+username +" password:"+password);
return Result.success("ok");
}以下都是方便展示,就直接赋值了,一般都是动态传参。(如果想了解Axios的可以看看这个博主写的Axios各种参选携带方式🔎)
不管是GET请求还是POST 请求 只要请求参数名与后端形参名一致就可以自动接收。
可以看看打印效果:

浏览器返回结果:

2.如果参数名与形参名字不同就会接收不到但是后端是不会报错的,只会赋值为null

这个时候如果需要 使用Sprngboot 提供的注解 @RequestParam 来完成映射
axios({
url:'http://localhost:8080/user/getPeople?name=hz&password=123456 ',
method:'GET'
}).then((res)=>{
alert(res.data.data)
})
@GetMapping("/getPeople")
public Result selectByUserNameAndPassword(@RequestParam(required = false, name = "name") String username,String password){
System.out.println("username:"+username +" password:"+password);
return Result.success("ok");
}运行效果:

required 属性是默认为true,代表该请求参数必须传递,如果不传递将报错。如果该参数要设置为可选的,可以把手动把required属性设置为false。
name 属性是指定请求参数名,如何把请求参数映射到形参对应的形参中
二.实体参数
请求参数名与形参对应属性名相同,定义POJO接收即可
说简单就是前端请求参数如果太多,还是用简单参数传递,后端形参太多,臃肿且不易维护,后端直接把请求参数封装到一个实体类中(也必须保证请求参数名与实体类的属性名保持一致才可以)
详细可参考; https://blog.csdn.net/2301_77058976/article/details/138451284?spm=1001.2014.3001.5502
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员阿政
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果