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

相关推荐
2601_949817727 小时前
Spring Boot3.3.X整合Mybatis-Plus
spring boot·后端·mybatis
uNke DEPH8 小时前
Spring Boot的项目结构
java·spring boot·后端
zhenxin01228 小时前
Spring Boot 3.x 系列【3】Spring Initializr快速创建Spring Boot项目
spring boot·后端·spring
前端一小卒8 小时前
前端工程师的全栈焦虑,我用 60 天治好了
前端·javascript·后端
不停喝水9 小时前
【AI+Cursor】 告别切图仔,拥抱Vibe Coding: AI + Cursor 开启多模态全栈新纪元 (1)
前端·人工智能·后端·ai·ai编程·cursor
oyzz1209 小时前
Spring EL 表达式的简单介绍和使用
java·后端·spring
zhenxin01229 小时前
【wiki知识库】07.用户管理后端SpringBoot部分
spring boot·后端·状态模式
码事漫谈9 小时前
OpenSpec 简明教程
后端
程序员小假9 小时前
向量检索的流程是怎样的?Embedding 和 Rerank 各自的作用?
java·后端
后置的猿猴10 小时前
Spring 循环依赖
java·后端·spring