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

相关推荐
用户6956194403714 分钟前
PageOffice最简集成代码(SpringMVC)
java·后端
程序员爱钓鱼17 分钟前
Node.js 编程实战:博客系统 —— 用户注册登录与文章管理
前端·后端·node.js
掘金者阿豪23 分钟前
在Java项目中,如果没有使用Redis相关的代码或依赖,但在 `application.yaml` 配置文件中配置了Redis参数,项目启动时是否会报错
后端
几颗流星27 分钟前
使用 Rust + Axum 构建灵活的 API 模拟服务器
后端·rust
小杨同学4927 分钟前
【嵌入式 C 语言实战】单链表的完整实现与核心操作详解
后端·算法·架构
咋吃都不胖lyh39 分钟前
RESTful API 调用详解(零基础友好版)
后端·restful
源代码•宸43 分钟前
Golang原理剖析(map)
经验分享·后端·算法·golang·哈希算法·散列表·map
小镇cxy1 小时前
Ragas 大模型评测框架深度调研指南
后端
qq_256247051 小时前
拯救“复读机”:从小模型死循环看 Logits 到 Dist 的全流程采样机制
后端