目录

一.简单参数

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