datai/docs/api-docs/README.md
Kris b7163d555b feat: 实现动态数据源延迟加载功能 (2026-01-21-001)
## 功能概述
- 实现动态数据源的延迟加载机制,支持应用启动时只加载主库,从库按需动态加载和切换
- 从库配置存储在主库中,支持运行时灵活切换从库库名
- 使用现有的 @DataSource 注解进行数据源切换,业务代码无需修改

## 新增功能
- 动态数据源管理接口 IDynamicDataSourceManager
- 动态数据源服务接口 IDynamicDataSourceService
- 动态数据源服务实现 DynamicDataSourceServiceImpl
- 数据源管理控制器 DatasourceController
- 数据源配置表 sys_datasource_config

## 新增文档
- 需求文档: docs/requirements/2026-01-21-001-动态数据源延迟加载.md
- 设计文档: docs/design/2026-01-21-001-动态数据源延迟加载设计.md
- 决策记录: docs/decisions/2026-01-21-001-ADR-动态数据源延迟加载.md
- SQL 脚本: docs/sql/2026-01-21-001-sys_datasource_config.sql
- 提示词: docs/prompts/2026-01-21-001-动态数据源延迟加载代码生成提示词.md
- 会话记录: docs/sessions/2026-01-21-001-session.md
- 变更日志: docs/changelog/2026-01-21-001-changelog.md
- 复盘文档: docs/retros/2026-01-21-001-retro.md
- API 文档: docs/api-docs/2026-01-21-001-api.md
- 根目录变更日志: CHANGELOG.md

## 修改功能
- 扩展 DataSourceManager 类,添加动态数据源管理方法
- 扩展 SysDatasourceConfigMapper 接口,添加 selectSysDatasourceConfigByDsName 方法
- 更新项目索引和 Authentication.canvas

## 修复问题
- 修复循环依赖问题:创建 IDynamicDataSourceManager 接口解决 datai-system 和 datai-framework 互相依赖
- 修复导入错误:删除 DynamicDataSourceServiceImpl 中未使用的导入
- 修复异常处理:将 setFilters() 调用移到 try-catch 块内

## API 接口
- POST /system/datasource/loadSlave - 加载从库数据源
- POST /system/datasource/switchSlave/{dbName} - 切换从库库名
- GET /system/datasource/getSlaveConfig - 获取从库配置
- POST /system/datasource/switch/{dsName} - 切换数据源
- DELETE /system/datasource/{dsName} - 移除数据源
2026-01-21 18:24:24 +08:00

64 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# API 文档
## 目录用途
存放项目的 API 相关文档,包括接口定义、请求响应示例、错误码等。
## 文档规范
- 文档命名格式YYYY-MM-DD-00X-api.md
- 必须包含接口列表、请求参数、响应参数、示例
- 支持交叉引用其他文档
## 文档列表
### 模板
- [API 文档模板](./template.md) - 创建新 API 文档的标准模板
### API 文档
#### datai-admin
*暂无文档*
#### datai-common
*暂无文档*
#### datai-framework
*暂无文档*
#### datai-models
*暂无文档*
#### datai-plugins
*暂无文档*
#### datai-scenes
*暂无文档*
#### datai-system
- [2026-01-21-001-api](./2026-01-21-001-api.md) - 动态数据源延迟加载 API 文档
## 使用指南
### 创建新 API 文档
1. 复制 [template.md](./template.md) 作为基础
2. 根据功能模块选择对应子目录:
- `datai-admin` - 管理后台相关 API
- `datai-common` - 通用组件相关 API
- `datai-framework` - 框架核心相关 API
- `datai-models` - 数据模型相关 API
- `datai-plugins` - 插件系统相关 API
- `datai-scenes` - 场景应用相关 API
- `datai-system` - 系统管理相关 API
3. 重命名为 `YYYY-MM-DD-00X-api.md` 格式
4. 填充完整的 API 信息
5. 更新本文档对应子目录的文档列表
### 文档要素
每个 API 文档应包含:
- 元数据(需求编号、创建时间、创建人、版本)
- API 概述和基础信息
- 端点列表(请求方式、路径、参数、响应)
- 变更历史
- 相关文档引用
## 返回主索引
[返回项目单一真源](../index.md)