关于增删改查的 接口设计,比较简单,有一些固定的做法可以使用。
查询列表
-
查询列表的接口,带上分页的入参: pageNo,pageSize,非必选,并设置默认值。
-
入参为 dto,根据 dto 从数据库查出实体对象 entity 后,转换为展示层 vo。
-
entity 对象转换为 vo,可以用 BeanUtils.copyProperties。
-
必选参数,设置校验规则。
-
查询列表,一般会根据更新时间(updateTime)降序。
-
如果查询的某个参数如果是多选的,可以用逗号隔开。
-
如果查询的某个参数要求模糊查询,可以用 like 查询数据库。
-
排序的参数尽量不要超过两个,太多的排序会影响性能。
-
如果对性能有要求,可以加缓存。
查看详情
-
入参可以传 id, 根据id查询详情。
-
如果对性能有要求,可以加缓存。
新增/修改
- 新增和修改可以用同一个接口,根据 id 判断是新增还是修改,如果id 为空,说明是新增。
- 如果查询列表/查看详情时用了缓存,新增/修改需要在修改了数据库后删除缓存,保持数据库和缓存的一致性。
- 新增/修改,可以修改一下 updateTime,方便定位问题。
- 新增/修改后,可以返回更新结果,判断是否更新成功。
导入导出
详情见: https://blog.csdn.net/sinat_32502451/article/details/133026409
如何写一个接口:
详情见:https://blog.csdn.net/sinat_32502451/article/details/133715927