开发流程如下: 开发需求,就像在线接口文档如下https://easydoc.net/s/78237135/ZUqEdvA4/OXTgKobR
这里一样, 别人告诉你需要什么功能,需要返回什么样的数据,你就通过接口的形式把他们呢实现出来即可!
这一部分都是CRUD相关的代码,所以要好好练好好写!!!
开发接口就是开发Controller、service、dao
以后工作了也是这种形式,主要是开发接口为多,前端其实不用写太多,能看懂即可!!!
下面为发布商品功能的接口编写
发布商品
调试会员等级接口
启动会员微服务,添加网关,添加前端页面...
添加如下会员:
后面会有优惠相关的内容,会根据会员等级进行优惠,还会给每个会员积分
开启会员微服务,导入前端页面,如下:
获取分类关联的品牌
controller
品牌对象集合在进行筛选,赋予品牌对象id和name,返回封装的vo给前端
List collect = vos.stream().map(item -> {
没错又是stream对集合的操作!
/** * 1.获取分类关联的品牌 * /product/categorybrandrelation/brands/list */ @GetMapping("/brands/list") public R relationBrandList(@RequestParam(value = "catId", required = true) Long catId) { List<BrandEntity> vos = categoryBrandRelationService.getBrandsByCatId(catId); List<BrandVo> collect = vos.stream().map(item -> { BrandVo brandVo = new BrandVo(); brandVo.setBrandId(item.getBrandId()); brandVo.setBrandName(item.getName()); return brandVo; }).collect(Collectors.toList()); return R.ok().put("data",collect); }
service
@Override public List<BrandEntity> getBrandsByCatId(Long catId) { //获得CategoryBrandRelationEntity集合对象 List<CategoryBrandRelationEntity> catelogId = relationDao.selectList(new QueryWrapper<CategoryBrandRelationEntity>().eq("catelog_id", catId)); //获得所有集合对象中brandid,通过brandService查询所有品牌,封装成品牌对象集合 List<BrandEntity> collect = catelogId.stream().map(item -> { Long brandId = item.getBrandId(); BrandEntity entity = brandService.getById(brandId); return entity; }).collect(Collectors.toList()); //返回品牌对象集合 return collect; }
测试
开发规范
- Controller:处理请求,接受和校验数据
- Service接受controlLer传来的数据,进行业务处理
- Controller接受service处理完的数据,封装页面指定的vo
以上开发规范必须遵守!!! 这样能让代码能有逻辑,更通用更容易让人读懂!!!