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

相关推荐
吴文周7 小时前
告别重复劳动:一套插件让 AI 替你写代码、修Bug、做测试、上生产
前端·后端·ai编程
Cyeam8 小时前
Roadbook CSV:一行 CSV 秒变高德地图路书
后端·开源·aigc
懒狗小前端8 小时前
做了一个 codex 的中文文档网站,做的不好可以随便喷
前端·后端
Eric_见嘉10 小时前
在职前端 Agent 配置分享
前端·后端·agent
Ares-Wang10 小时前
Flask》》 Flask-OpenID 认证、 OpenID Connect (OIDC)
后端·python·flask
掘金码甲哥10 小时前
这篇优雅安装k8s集群的姿势,请务必投喂给AI智能体, 包装包活的那种!
后端
IT_陈寒12 小时前
Vue的v-for里用index当key,我被自己坑惨了
前端·人工智能·后端
invicinble12 小时前
Spring如何把bean注册到容器里
java·后端·spring
阿丰资源13 小时前
基于SpringBoot+MySQL的网上订餐系统(附源码)
spring boot·后端·mysql
希望永不加班13 小时前
SpringBoot 敏感数据脱敏(序列化层)
java·spring boot·后端·spring