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

相关推荐
brzhang8 分钟前
我用 Flutter 做了个小游戏,结果发现这玩意有点意思
前端·后端·架构
brzhang13 分钟前
用 Vue 写原生 iOS/Android 应用,我发现这个库比 uni 要轻量且靠谱些
前端·后端·架构
这里有鱼汤19 分钟前
3步用Python识别MACD背驰,避免80%追涨杀跌陷阱,建议收藏
后端·python
武子康31 分钟前
大数据-125 - Flink 实时流计算中的动态逻辑更新:广播状态(Broadcast State)全解析
大数据·后端·flink
Mintopia36 分钟前
🧠 Next.js 文件上传(头像 / 图片)终极指南
前端·后端·全栈
程序员爱钓鱼40 分钟前
Python编程实战 · 基础入门篇 | Python能做什么
后端·python·github
xyy12344 分钟前
.NET SQLite
后端
小蜗牛编程实录1 小时前
1.多线程核心知识梳理:从进程关系到实践要点
后端
小蜗牛编程实录1 小时前
6.MySQL 主从复制深度解析:原理、问题与优化方案
后端
xxxcq1 小时前
Go微服务网关开发(3):负载均衡功能的实现
后端·github