常说代码cv,遇到具体需求时,解决问题的思路有了才可以cv,特此根据浅薄经验记录思路,反思自己。
第零步:确定需求(需求分析)
需求能不能做,确定好工期。
第一步:设计数据库
根据用户的需求设计数据库,这一步极为关键,表关系可以一对多,多对多等,只能根据项目经验去提升,有意识的思考,在这里不过多赘述。
第二步:根据数据库的表去映射java实体类
这一步很关键,注意大小写,特殊格式,日期类格式。
第三步:编写业务代码
简略的讲(排查思路):
后端:当你写好业务sql之后,写好Controller层接口,拿去做test,确保sql ,接口没问题。
前端:打印需要传输的数据,确保发送前的数据正确,url路径 ,type:json,没问题。
如果你的功能在测试过程中出现了不可名状的错误,你的后端以及前端接口都没问题,正常的返回了数据,那么只能从报错信息入手(不要一味的听信报错信息),可能少了某个细节而已,例如,大小写,方法的(),编码,特殊字符的传输,清除缓存,此时叫打手,不要怕错误,消耗的时间太长是不可取的(个人建议,叫帮手)。
详细分析:
展示数据 | 条件展示
select
前端分析:如果有条件的话,那肯定要获取到这个条件,发送给后端,根据返回的数据,去展示数据。
后端分析:根据前端拿到的数据(确保拿到了),条件select,切记此时要把数据返回给前端。
@GetMapping("/page")
@ApiOperation("分类分页查询")
public Result<PageResult> page(CategoryPageQueryDTO categoryPageQueryDTO){
log.info("分页查询:{}", categoryPageQueryDTO);
PageResult pageResult = categoryService.pageQuery(categoryPageQueryDTO);
return Result.success(pageResult);
}
添加数据
insert
前端分析:确保拿到了用户输入的数据,发送请求给到后端。
后端分析:拿到了前端的数据后,执行添加sql,返回状态信息。
@PostMapping
@ApiOperation("新增分类")
public Result<String> save(@RequestBody CategoryDTO categoryDTO){
log.info("新增分类:{}", categoryDTO);
categoryService.save(categoryDTO);
return Result.success();
}
删除数据
delete
前端分析:确保拿到了删除的条件,发送给后端。
后端分析:拿到了前端的数据后,执行删除sql,返回状态信息。
@DeleteMapping
@ApiOperation("删除分类")
public Result<String> deleteById(Long id){
log.info("删除分类:{}", id);
categoryService.deleteById(id);
return Result.success();
}
修改数据
update
前端分析:确保拿到了修改的数据,发送给后端。
后端分析:拿到前端的数据后,执行更新数据,返回状态信息。
@PutMapping
@ApiOperation("修改分类")
public Result<String> update(@RequestBody CategoryDTO categoryDTO){
categoryService.update(categoryDTO);
return Result.success();
}
总结:
做业务时,切记要弄清楚需求,理清思路,不要浮躁,Believe in yourself。