从数据层到接口层,LawyerApi 提供开箱即用的工程化基座
MySQL 主库 + SQL Server 副库独立管理,按数据源隔离 SqlSessionFactory 与分页方言,互不干扰。
基于 MyBatis-Plus BaseMapper 的完整 CRUD 示例,分页插件自动适配两种数据库方言。
所有接口返回统一的 ApiResponse 结构,包含业务码、消息、数据与 traceId,前后端协作零歧义。
业务异常、参数校验、数据库错误分类处理,错误码统一枚举管理,不向前端暴露内部细节。
过滤器自动生成或透传 X-Trace-Id,写入 MDC 贯穿全部日志,配合访问日志切面快速定位问题。
集成 springdoc-openapi,接口定义即文档,Swagger UI 在线调试,降低联调成本。
当前版本开放的 REST 接口,点击右上角 Swagger 文档可在线调试
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/test | 服务健康检查 |
| GET | /api/db/mysql | 查询 MySQL 主数据源信息 |
| GET | /api/db/sqlserver | 查询 SQL Server 第二数据源信息 |
| GET | /api/{db}/users | 分页查询用户列表 |
| GET | /api/{db}/users/{id} | 根据 id 查询用户 |
| POST | /api/{db}/users | 新增用户 |
| PUT | /api/{db}/users/{id} | 修改用户 |
| DELETE | /api/{db}/users/{id} | 删除用户 |
路径参数 {db} 支持 mysql 与 sqlserver,用于选择目标数据源
LawyerApi 采用 Kotlin 全函数式风格开发,借助 Spring Boot 生态与 MyBatis-Plus 提供稳定的数据访问能力,同时为后续业务扩展预留了搜索、缓存与认证等集成空间。
三步启动服务,立即体验全部接口
在 application.properties 中配置 MySQL 与 SQL Server 的连接信息。
执行 ./gradlew bootRun 或运行 LawyerApiApplicationKt 启动服务。
访问 Swagger UI 在线调试,或直接使用 curl 调用 REST 接口。