瑞吉外卖的部分代码补充

瑞吉外卖的部分代码补充

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 注解

经验分享 程序员 微信小程序 职场和发展