新增品牌 功能实现

1.编写controller方法
(图上方法里的参数brand 少了个 @RequestBody 注解)

 /**
     * 新增品牌
     * @param brand
     * @param cids
     * @return
     */
    @PostMapping
    public ResponseEntity<Void> saveBrand(@RequestBody Brand brand, @RequestParam("cids")List<Long> cids){
        this.brandService.saveBrand(brand, cids);
        return ResponseEntity.status(HttpStatus.CREATED).build();
    }

 

 

2.实现service方法 saveBrand

 

3.创建通用mapper的方法 insertCategoryAndBrand 
(因为通用 mapper 只能操作单张表,所以 insertCategoryAndBrand 方法需要我们直接实现 )

 

4.重启 leyou-item ,然后试试能不能新增商品

 

出现问题,参数不合法

原因:传递的数据是一个json对象,那只能使用对应的一个Java对象去接收,不能接收多个参数。

 

那我们的 cids 这个参数怎么去接收?
去 Brand 对象里 加一个 cids 参数?
不合适,因为有的功能并不需要这个参数,此时你添加了参数话,那就要全部去修改。

其实我们可以不传 json对象, 而是传一个普通的json字段,包含所需的参数。

我们需要去页面里将json对象转化一下。

 

然后再试一下 新增商品:

显示保存成功了,去看一下数据库里,你会发现也添加成功了!为什么我们改了一段代码就转化成功了呢?其实这里用到了 QS工具;
点击查看QS工具相关 

 

 

页面校验:

 

 

 

我们刚刚完成了新增商品

我们点击提交后,这个新增窗口自动关闭了,这是在哪实现的?

看下面: