SpringBoot注解 @PathVariable @RequestParam和@RequestBody的区别与使用

@PathVariable

1.1 简介

@PathVariable注解用于处理从请求路径中获取变量的值。它常用于RESTful风格的请求,将路径中的一部分作为参数传入到方法之中。默认情况下,参数名必须要和路径上的变量名一样,但是@PathVariable注解允许我们使用value或name属性来给参数取一个别名。

1.2 参数

String value:可指定占位符 { } 中的参数名,若只指定value这一个属性可省略属性名不写,若占位符中的参数名和处理方法中的参数名相同可省略此属性。
String name:等价与value,和value无本质上的差异,两个属性指定其一即可。
boolean required:是否必需,默认为 true,即 请求中必须包含该参数,如果没有包含,将会抛出异常(可选配置)。

1.3 使用案例

    @GetMapping("/{id}")
    @ApiOperation("根据id查询菜品")
    public Result<DishVO> getById(@PathVariable Long id) {
        log.info("根据id查询菜品:{}",id);
        DishVO dishVO = dishService.getByIdWithFlavor(id);
        return Result.success(dishVO);
    }
  1. 通过@GetMapping注解中的 { } 占位符来标识URL中的变量部分。
  2. 在控制器中的处理方法的形参中使用@PathVariable注解去获取@GetMapping中 { } 中传进来的值,并绑定到处理方法定一的形参上。
  3. 方法的参数名与URI模板变量名一致,在@PathVariable中可以省略别名的定义。

@RequestParam

1.1 简介

@RequestParam注解用于从请求中获取查询参数,可用于处理表单提交与URL中的查询参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值