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

相关推荐
风象南15 分钟前
Token太贵?我用这个数据格式把上下文窗口扩大2倍
人工智能·后端
Victor35617 分钟前
MongoDB(17)如何在MongoDB中创建集合?
后端
摸鱼的春哥30 分钟前
春哥的Agent通关秘籍13:实现RAG查询
前端·javascript·后端
Victor35637 分钟前
MongoDB(16)如何在MongoDB中创建数据库?
后端
勇哥java实战分享9 小时前
程序员的明天:AI 时代下的行业观察与个人思考
后端
掘金码甲哥11 小时前
超性感的轻量级openclaw平替,我来给你打call
后端
用户83562907805114 小时前
无需 Office:Python 批量转换 PPT 为图片
后端·python
啊哈灵机一动14 小时前
使用golang搭建一个nes 模拟器
后端
间彧15 小时前
SpringBoot + ShardingSphere 读写分离实战指南
后端
砍材农夫15 小时前
订单超时
后端