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

相关推荐
FAFU_kyp13 小时前
Rust 结构体(struct)
开发语言·后端·rust
枫叶梨花13 小时前
SpringBoot+Vue实现SM4加密传输
spring boot·后端
悟空码字13 小时前
SpringBoot整合MyBatis-Flex保姆级教程,看完就能上手!
java·spring boot·后端
qq_25005686814 小时前
SpringBoot 引入 smart-doc 接口文档插件
java·spring boot·后端
w***765514 小时前
SpringBoot Test详解
spring boot·后端·log4j
掉头发的王富贵14 小时前
【2025年终总结】对象有了,工作没了
java·后端·年终总结
lpfasd12314 小时前
Spring Boot + WebFlux 全面使用指南
java·spring boot·后端
Cosolar14 小时前
Java 后端访问 https接口报 SSLHandshakeException 你遇到过吗
java·后端·面试
m0_7482523814 小时前
Foundation 表格的基本用法
开发语言·后端·rust
Mr.朱鹏14 小时前
Spring Boot 配置文件加载顺序与优先级详解
java·spring boot·后端·spring·maven·配置文件·yml