接口设计-增删改查

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

查询列表

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

相关推荐
喵个咪10 分钟前
RushWind Admin — 用 Rust 写的企业级中后台,开源了
后端·rust·开源
喵个咪11 分钟前
RushWind Admin — 契约驱动:203 条路由零手写的工程化拆解
后端·rust·开源
明月_清风13 分钟前
只会 Vibe Coding 的程序员,为什么可能会被淘汰?
后端·ai编程
我要神龙摆尾20 分钟前
IDEA 阅读插件
java·ide·intellij-idea·idea-plugs·plugs
喵个咪31 分钟前
Go 写业务,Rust 扛底盘:一套可落地的混合架构
后端·rust·go
小小张说故事1 小时前
Python logging 日志不输出?根源在 propagate 这条链上
后端·python
涉密IT资质笔记1 小时前
涉密人员脱密期管理规范:期限分级模型、就业限制边界与违规认定标准
java·服务器·前端·网络·数据库
mmsx1 小时前
Android Dialog 插槽模式:用一套壳统一全应用的弹窗风格
android·java·dialog·开发语言
u0111026751 小时前
工具页案例图如何编写 alt让图片说明与处理场景对应
java·前端·javascript·图像处理·人工智能·算法·ai作画
ZealSinger1 小时前
Go slog生产落地LevelVar与共存
开发语言·后端·golang·go