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

相关推荐
SamDeepThinking5 分钟前
所有的框架源码,最怕的就是被debug
java·后端·程序员
kree14 分钟前
通义千问 SSE 流式:累计文本 vs 增量 Delta
后端
fox_lht17 分钟前
第十一章 错误处理
开发语言·后端·rust
焗猪扒饭27 分钟前
极简案列入门golang依赖注入工具wire
后端·go
M ? A1 小时前
Vue 转 React | VuReact 实时监听开发指南
前端·vue.js·后端·react.js·面试·开源·vureact
贺国亚1 小时前
Kafka系统设计与编码
后端·kafka
南方的耳朵1 小时前
谨慎使用git rebase --onto A B C
后端
何陋轩1 小时前
Spring AI Alibaba实战:通义千问与Java的完美融合
人工智能·后端·ai编程
Copy_Paste_Coder2 小时前
小程序失败后,换个方向,终于成功搞到收益
前端·javascript·后端
小杍随笔2 小时前
【在 Rust + Tauri 2 应用中实现语言切换功能:完整技术指南】
开发语言·后端·rust