Java @PathVariable和@RequestParam区别

问题背景

今天练习菜品管理系列功能,需求是点击"停售"后会发出请求http://localhost:8080/dish/status/0?ids=1663210068914552833 ,其中请求路径的0代表停售,1代表在售状态,ids为需要修改的菜品id

对应的controller代码为:

less 复制代码
@PostMapping("/status/{status}")
public Result updateStatus0(@PathVariable("status")int status ,@RequestParam("ids") Long[] ids){
    log.info("需要修改为的status为:"+status);
    log.info("需要修改为的ids为:"+ Arrays.toString(ids));

    for (int i=0;i<ids.length;i++){
        Dish dish = new Dish();
        dish.setStatus(status);
        dish.setId(ids[i]);
        dishService.updateById(dish);
    }
    return Result.success("更新成功");
}

区别

若为路径请求(/dish/status/0),则使用@PathVariable;若传递参数(即键值对形式,ids=1663210068914552833),则使用@RequestParam

相关推荐
raoxiaoya2 小时前
golang编译时传递参数或注入变量值到程序中
开发语言·后端·golang
mldong5 小时前
mldong 快速开发框架登录模块设计与实现
java·后端·架构
我爱Jack5 小时前
@annotation:Spring AOP 的“精准定位器“
java·后端·spring
我崽不熬夜6 小时前
为什么你该立即学习 Java 的 Lambda 表达式?
java·后端·java ee
爱捣鼓的XiaoPu7 小时前
基于Spring Boot的计算机考研交流系统的设计与实现
spring boot·后端·考研·毕业设计
啾啾Fun7 小时前
Agent轻松通-P3:分析我们的Agent
后端·llm·agent
是紫焅呢8 小时前
I排序算法.go
开发语言·后端·算法·golang·排序算法·学习方法·visual studio code
lovebugs8 小时前
Java线上死锁问题实战:从定位到解决的全链路指南
java·后端·面试
飞飞帅傅8 小时前
go语言位运算
开发语言·后端·golang