一、理解需求
需要在哪个端实现哪些功能,这些在需求讨论对需求的时候产品会进行说明,比如说在运营助手实现预告、广播、图片的增删改查,在小程序端实现展示给用户最近的一条进行中的预告、广播、图片。
那么就需要在运营助手端提供给运营的增删改查接口以及提供给小程序用户远程调用的feign接口(最新预告、广播、图片的展示)
二、流程图
主要是提现一些代码过程,比如说一个修改接口应该有这些流程:1、先查询数据2、判断数据的状态在需求中是否属于要求的可修改阶段3、再对照需求是全部字段修改还是部分参数修改、4、时候修改成功
三、建表
只考虑读取操作,能满足需求数据的存储,大概考虑一下增删改查的条件。枚举字段用String存枚举大写名称,常量定义用tinyint1存数字integer、Long、short,注释列清晰是否、枚举的数字代表意义。
四、注意细节
长度不超过建议线,内容不出现魔法值,魔法值用枚举、常量定义
设计入参出参:首先紧跟原型图,其次出参前端会要求一些入参没有给后端的数据,先Beanutils.copy req-resp比如说创建时间和userID,这两个就需要通过数据表或者其它接口来设置给本接口的出参
进行一些判断时,思路可以转变:比如说 保存 提交 结束三种状态,提交结束不可以修改内容,可以通过!=保存常量 来进行判断
增加接口:创建时间来自前端还是new date().gettime()获取毫秒值
修改接口:先查询id、状态 再if(数据表entity的状态)在进行修改行数据
修改状态接口:先查询id、状态 再if(数据表entity的状态)在进行修改行数据
查询所有接口:根据id进行查询、排序查询(创建时间、状态)
在修改某一接口、某一入参、出参对象的时候要考虑会影响到其他接口的功能和数据完整性,比如说我删除了返回对象的status、displocount 就影响到了其他接口的数据完整性(没有把入参存完整到数据表,没有把参数完整的返回给前端)
遇到404 先检查reful请求方式和方法路径,再检查自测工具中的入参的类型和字段名(key、value是否缺少引号、:是否是中文、字段间是否缺少逗号间隔)然后看返回参数是否
五、接口测试
使用apifox进行接口测试,针对一些情况,去验证接口的健壮性 比如说修改:同一个入参,就可以通过修改数据表里的status的字段值(表达了需求的记录状态),分别修改三次数据表状态,去验证一下你的接口是否符合要求。测试删除接口的时候,应该使用相同入参去修改数据表的状态字段去检验在进行中、已结束状态的接口表现,结束接口应该在未完成的状态可以进行结束操作,在已结束的状态下告诉使用方“这个数据已经是结束状态”,同时抛出异常,终止结束接口的操作。