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

相关推荐
鹏程十八少14 分钟前
12. Android 协程通关秘籍:31 道资深工程师面试题精讲
前端·后端·面试
白宇横流学长38 分钟前
基于Spring Boot的校园考勤管理系统的设计与实现
java·spring boot·后端
ReSearch43 分钟前
sfsEdgeStore:边缘计算时代的轻量级数据存储解决方案
数据库·后端·github
SamDeepThinking1 小时前
拼单模块设计实战
java·后端·架构
_waylau1 小时前
“Java+AI全栈工程师”问答02:Spring Boot 自动配置原理
java·开发语言·spring boot·后端·spring
无尽冬.1 小时前
个人八股之三层架构
java·经验分享·后端·架构·异世界
贫民窟的勇敢爷们2 小时前
SpringBoot多环境配置全解+配置优先级管控
java·spring boot·后端
橙序员小站2 小时前
A社新论文:Claude,你坐下,咱俩说说心里话~
后端·aigc·claude
Java面试题总结2 小时前
Go 里什么时候可以“panic”?
开发语言·后端·golang
掘金者阿豪2 小时前
加一行配置,少敲一堆命令:表空间目录自动创建让我告别了深夜加班
后端