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

相关推荐
苏三说技术6 分钟前
小米二面:Redis为什么能支撑10万+ QPS?
后端
平凡但不平庸的码农40 分钟前
Go 语言基础语法
开发语言·后端·golang
是宇写的啊43 分钟前
SpringBoot 统一功能处理
java·spring boot·后端
等....44 分钟前
Spring Boot多模块项目部署
java·spring boot·后端
20岁30年经验的码农1 小时前
Spring Boot 配置文件生效规则
spring boot·后端·pycharm
霸道流氓气质1 小时前
SpringBoot+LangChain4j+Ollama+MCP实现智能天气工具调用示例
java·spring boot·后端
ErizJ2 小时前
Go|腾讯面经总结
开发语言·后端·golang
geovindu2 小时前
go: Registry Pattern
开发语言·后端·设计模式·golang·注册模式
Le_ee2 小时前
ctfweb:flask+ssti
后端·python·flask
木易 士心2 小时前
一文彻底搞懂 Elasticsearch:原理、场景、避坑与优化
大数据·后端·elasticsearch·搜索引擎