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

相关推荐
i220818 Faiz Ul9 小时前
计算机毕业设计|基于springboot + vue鲜花商城系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
不能放弃治疗9 小时前
聊聊大模型开发的发展历程
后端
福大大架构师每日一题10 小时前
go-zero v1.10.0发布!全面支持Go 1.23、MCP SDK迁移、性能与稳定性双提升
开发语言·后端·golang
学习是生活的调味剂10 小时前
spring bean循环依赖问题分析
java·后端·spring
期待のcode10 小时前
SpringBoot连接Redis
spring boot·redis·后端
笑我归无处11 小时前
Springboot+mybatisplus配置多数据源+分页
spring boot·后端·mybatis
lizhongxuan12 小时前
AI 从工具调用到自主进化:SkillSMP 与 EvoMap
后端
暴力袋鼠哥12 小时前
基于 Spring Boot 3 + Vue 3 的农产品在线销售平台设计与实现
vue.js·spring boot·后端
canonical_entropy12 小时前
DDD 概念澄清:那些教程不会告诉你的事
后端·低代码·领域驱动设计
凌云拓界13 小时前
TypeWell全攻略(二):热力图渲染引擎,让键盘发光
前端·后端·python·计算机外设·交互·pyqt·数据可视化