接口设计-增删改查

关于增删改查的 接口设计,比较简单,有一些固定的做法可以使用。

查询列表

  • 查询列表的接口,带上分页的入参: 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

相关推荐
武子康1 小时前
Java-72 深入浅出 RPC Dubbo 上手 生产者模块详解
java·spring boot·分布式·后端·rpc·dubbo·nio
_殊途2 小时前
《Java HashMap底层原理全解析(源码+性能+面试)》
java·数据结构·算法
椰椰椰耶3 小时前
【Spring】拦截器详解
java·后端·spring
没有bug.的程序员4 小时前
JAVA面试宝典 - 《MyBatis 进阶:插件开发与二级缓存》
java·面试·mybatis
brzhang4 小时前
我操,终于有人把 AI 大佬们 PUA 程序员的套路给讲明白了!
前端·后端·架构
没有羊的王K5 小时前
SSM框架学习——day1
java·学习
又菜又爱coding5 小时前
安装Keycloak并启动服务(macOS)
java·keycloak
不知道叫什么呀6 小时前
【C】vector和array的区别
java·c语言·开发语言·aigc
wan_da_ren6 小时前
JVM监控及诊断工具-GUI篇
java·开发语言·jvm·后端
【本人】6 小时前
Django基础(一)———创建与启动
后端·python·django