接口设计-增删改查

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

查询列表

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

相关推荐
radient几秒前
初识Agent、Prompt、Function Coding、MCP
后端·程序员·架构
Lisonseekpan3 分钟前
Spring Boot 中使用 Caffeine 缓存详解与案例
java·spring boot·后端·spring·缓存
为java加瓦6 分钟前
Rust 的类型自动解引用:隐藏在人体工学设计中的魔法
java·服务器·rust
SimonKing9 分钟前
分布式日志排查太头疼?TLog 让你一眼看穿请求链路!
java·后端·程序员
消失的旧时光-194321 分钟前
Kotlin 判空写法对比与最佳实践
android·java·kotlin
小许学java24 分钟前
Spring AI快速入门以及项目的创建
java·开发语言·人工智能·后端·spring·ai编程·spring ai
一叶飘零_sweeeet44 分钟前
从 “死锁“ 到 “解耦“:重构中间服务破解 Java 循环依赖难题
java·循环依赖
*长铗归来*1 小时前
ASP.NET Core Web API 中控制器操作的返回类型及Swagger
后端·c#·asp.net·.netcore
靓仔建1 小时前
Asp.net core用Swashbuckle.AspNetCore库出现错误信息:No operations defined in spec!
后端·asp.net·swagger