瑞吉外卖的部分代码补充
1.批量、单个菜品信息的状态设置
// An highlighted block
/* 批量、单个 修改状态
* 请求网址: http://localhost/ dish/status/0?ids=1598505890095833090
请求方法: POST
path: "/dish/status/0"
* */
@PostMapping("/status/{status}")
public R<String> setStatue (@PathVariable Integer status, @RequestParam List<Long> ids){
List<Dish> dishes = new ArrayList<>();
//循环ids数组并将参数封装到对象
for (int i = 0; i < ids.size(); i++) {
Dish dish = new Dish();
dish.setId(ids.get(i));
dish.setStatus(status);
//添加对象
dishes.add(dish);
}
//调用方法
dishService.updateBatchById(dishes);
return R.success("状态修改成功");
}
2.批量、单个删除菜品
// An highlighted block
/*
批量删除、删除
* 请求网址: http://localhost/dish?ids=1598505890095833090
请求方法: DELETE
* */
@DeleteMapping
public R<String> delete(@RequestParam List<String> ids){
//@RequestParam 表示这是一个集合对象!!
if(ids.isEmpty()){
return R.error("未选择删除的对象");
}
log.info("批量或单个删除:{}",ids.toString());
dishService.removeByIds(ids);
return R.success("删除成功!");
}
这里需要注意到的是在Controller中的方法接收url为:
http://localhost/dish?ids=1598505890095833090,1598505890095833091
这样的数组参数时,需要在控制层方法参数中添加 @RequestParam 注解