Spring后端接收前端传参

1.@PathVariable 注解

@PathVariable 是 Spring 框架的一个注解,用于将 URI 中的变量绑定到 Spring MVC 控制器中 的方法参数。允许我们从 URI 路径中提取值并将它们映射到控制器中的方法参数。

使用场景:前端采用请求路径变量的形式.表现为 /...

例子:

@GetMapping("/{id}")
public R<Employee> getById(@PathVariable("id") Long ids){
}

当@PathVariable("id") Long id请求的路径变量和方法参数名称相同时可以省略("id")

@GetMapping("/{id}")
public R<Employee> getById(@PathVariable Long id){
}

PS:

2.@RequestParam注解

使用场景:前端采用了查询参数的形式.表现为 ?...

当controller方法中的参数名称和路径中参数名称一致时,可以省略该注解.

反之就得使用它:

eg.若前端传了http://localhost:8080/user/list?name=Tom&age=18

@GetMapping("/list")
public R<List<User>> list(@RequestParam(value = "name", required = false) String name1,
                           @RequestParam(value = "age", required = false) Integer age1) {
    return null;
}

属性:

value/name属性一致,使用与required属性有关;
required:默认为true,当为true时,若路径参数名和value/name属性名不一致时就会报错,为false时不会,这也是该注解主要用途:解决前端传递的参数与后端接收的参数不一致的问题;
defaultValue:默认值

总结:最好写的前后端对应参数名一样.

3.@RequestBody注解

使用场景:用于接收前端传递过来的json数据并进行数据绑定

主要用于接收前端发送的复杂数据类型,例如:多层嵌套的数据,或者前端发送的是一个实体对象。

比如:前端传递uesr中的某个/某些属性

@PostMapping("/test")
public R<String> test(@RequestBody User user){
log.info("接收到的数据为:{}",user);
return R.success("请求成功");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值