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 小时前
spring中的BeanFactoryAware接口详解
java·后端·spring·beanfactory
liubo666_2 小时前
JVM梳理(逻辑清晰)
java·jvm·后端
PWRJOY3 小时前
Flask 路由跳转机制:url_for生成动态URL、redirect页面重定向
后端·python·flask
dog shit4 小时前
web第六次课后作业--使用ApiFox实现请求响应操作
后端
waterHBO7 小时前
人脸识别,使用 deepface + api + flask, 改写 + 调试
后端·python·flask
Asus.Blogs7 小时前
Go 语言中的 Struct Tag 的用法详解
开发语言·后端·golang
码农爱java9 小时前
Java 调用 GitLab API
java·开发语言·后端·gitlab·gitapi
小徐Chao努力9 小时前
【项目】SpringBoot +MybatisPlus集成多数据源
java·spring boot·后端·mybatis
神秘的t9 小时前
Spring Web MVC————入门(3)
前端·后端·spring·mvc
毕小宝10 小时前
SpringBoot微服务编写Dockerfile流程及问题汇总
spring boot·后端·docker·微服务