问题背景
今天练习菜品管理系列功能,需求是点击“停售”后会发出请求http://localhost:8080/dish/status/0?ids=1663210068914552833 ,其中请求路径的0代表停售,1代表在售状态,ids为需要修改的菜品id
对应的controller代码为:
@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