乐优商场项目day08——新增品牌后台代码
新增品牌 功能实现
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工具相关
页面校验:
我们刚刚完成了新增商品
我们点击提交后,这个新增窗口自动关闭了,这是在哪实现的?
看下面: