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

相关推荐
++==2 小时前
RESTful详解:核心思想、框架、与HTTP的区别,API的设计风格
后端·http·restful
IT_陈寒3 小时前
Vue的响应式更新有时候真的不听话
前端·人工智能·后端
向生4 小时前
Ubuntu Caddy 保姆级完整教程
后端
tntxia4 小时前
Docker权限的问题
后端
明月_清风4 小时前
看完这段关于"全插件化架构"的技术分析后,我整理了一份笔记
前端·后端
摇滚侠4 小时前
《SpringBoot 3:入门与应用实战》第 7 章 AOP 思想与实现 阅读笔记 14
spring boot·笔记·后端
她的男孩5 小时前
我把管理系统接给AI,它改条数据都要先问我
java·后端·架构
元界metalite5 小时前
SpringBoot分页接口怎么设计-pageSize不设上限会发生什么
后端
IT爱学堂6 小时前
Go开发疑难杂症终结者通关指南
后端
大勇前进6 小时前
从10分钟到10秒:一个真实慢查询的SQL Server优化全记录
后端