From db13de9fc5e493ea32818ec4dfdc68f12377576e Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Wed, 27 Aug 2025 12:18:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EMySQL=E5=92=8Cpg=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E7=9A=84=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../capi/sys/controller/dbController.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/mini/capi/sys/controller/dbController.java b/src/main/java/com/mini/capi/sys/controller/dbController.java index 0492f7e..7f26d36 100644 --- a/src/main/java/com/mini/capi/sys/controller/dbController.java +++ b/src/main/java/com/mini/capi/sys/controller/dbController.java @@ -27,8 +27,23 @@ public class dbController { */ @GetMapping("/getApiSourceTables") public ApiResult> listSourceTables(String token, String dbId) { - if (vToken.isValidToken(token)) { - DbConfig dbConfig = dbConfigService.getById(dbId); + // 1. 验证token有效性 + if (!vToken.isValidToken(token)) { + return ApiResult.error(401, "无效的访问令牌"); + } + + // 2. 校验dbId参数 + if (dbId == null || dbId.trim().isEmpty()) { + return ApiResult.error(400, "数据库ID不能为空"); + } + + // 3. 查询数据库配置并校验 + DbConfig dbConfig = dbConfigService.getById(dbId); + if (dbConfig == null) { + return ApiResult.error(404, "未找到ID为[" + dbId + "]的数据库配置"); + } + + try { JdbcTemplate jdbcTemplate = DataSourceConfig.createJdbcTemplate(dbConfig); // 补充参数传递,修复SQL参数绑定问题 String querySql = "SELECT table_name FROM information_schema.tables WHERE table_schema = ?"; @@ -37,7 +52,8 @@ public class dbController { .map(row -> row.values().iterator().next().toString()) .toList(); return ApiResult.success(data); + } catch (Exception e) { + return ApiResult.error(101, e.getMessage()); } - return ApiResult.error(); } }