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

相关推荐
Curvatureflight15 分钟前
接口幂等性设计:如何避免重复提交、重复扣款和消息重复消费?
分布式·后端·架构
铁皮饭盒19 分钟前
彩色命令行,Node21自带函数1行实现 ,Bun也兼容, 附Bun.color实现渐变色的代码
前端·后端
锋行天下34 分钟前
关于websocket,真实场景踩坑经验
前端·后端
PinkSun34 分钟前
我用Spring AI做了个简历优化工具(1):Structured Output实战,让AI返回Java对象
后端
东风微鸣1 小时前
Argo CD 用户管理:本地用户配置与权限分离实践
git·后端
Yeats_Liao1 小时前
Java网络编程(五):Selector选择器与高并发实现
java·后端·架构
小小龙学IT1 小时前
Go语言后端开发入门指南
开发语言·后端·golang
土星碎冰机1 小时前
实现飞书群推送报错接口,critical复现curl
后端·飞书
淘源码A2 小时前
专科医院云HIS系统源码:技术栈包括SpringBoot、Angular、MySQL等
spring boot·后端·源码·云his·医院信息系统·医院his系统
小马爱打代码2 小时前
基于 SpringBoot 的微服务文件上传下载组件设计与实现
spring boot·后端