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

相关推荐
程序员码歌6 小时前
明年35岁了,如何破局?说说心里话
android·前端·后端
橙*^O^*安6 小时前
Go 语言基础:变量与常量
运维·开发语言·后端·golang·kubernetes
工程师小星星6 小时前
Golang语言的文件组织方式
开发语言·后端·golang
哈喽姥爷7 小时前
Spring Boot---自动配置原理和自定义Starter
java·spring boot·后端·自定义starter·自动配置原理
舒一笑9 小时前
为什么where=Version就是乐观锁了?
后端·mysql·程序员
GoGeekBaird9 小时前
关于垂类AI应用落地行业的方法论思考
后端·github·agent
小宁爱Python9 小时前
Django 基础入门:命令、结构与核心配置全解析
后端·python·django
你的人类朋友10 小时前
认识一下Bcrypt哈希算法
后端·安全·程序员
tangweiguo0305198710 小时前
基于 Django 与 Bootstrap 构建的现代化设备管理平台
后端·django·bootstrap
IT果果日记10 小时前
详解DataX开发达梦数据库插件
大数据·数据库·后端