重写复现方法
This commit is contained in:
15
src/main/java/com/mini/capi/config/TokenBean.java
Normal file
15
src/main/java/com/mini/capi/config/TokenBean.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package com.mini.capi.config;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class TokenBean {
|
||||
|
||||
@Value("${security.default-token}")
|
||||
private String defaultToken;
|
||||
|
||||
public boolean isValidToken(String token) {
|
||||
return !defaultToken.equals(token);
|
||||
}
|
||||
}
|
||||
@@ -1,24 +1,22 @@
|
||||
package com.mini.capi.sys.Api;
|
||||
|
||||
import com.mini.capi.config.TokenBean;
|
||||
import com.mini.capi.model.ApiResult;
|
||||
import com.mini.capi.model.TabResult;
|
||||
import com.mini.capi.sys.domain.TableInfo;
|
||||
import com.mini.capi.sys.service.DataService;
|
||||
import com.mini.capi.sys.service.DbService;
|
||||
import com.mini.capi.sys.service.DockerService;
|
||||
import com.mini.capi.sys.service.HostService;
|
||||
import com.mini.capi.utils.vToken;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/Sys/api")
|
||||
public class apiController {
|
||||
|
||||
@Resource
|
||||
private TokenBean tokenBean;
|
||||
|
||||
@Resource
|
||||
private DbService dbService;
|
||||
@@ -26,53 +24,16 @@ public class apiController {
|
||||
@Resource
|
||||
private HostService hostService;
|
||||
|
||||
@Resource
|
||||
private DataService dataService;
|
||||
|
||||
@Resource
|
||||
private DockerService dockerService;
|
||||
|
||||
|
||||
/**
|
||||
* 获取表的结构和字段
|
||||
*/
|
||||
@GetMapping("/getTableDetail")
|
||||
public ApiResult<TableInfo> getTableDetail(String token, String taskId) {
|
||||
if (vToken.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return dataService.getTableDetail(taskId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取MySQL的当前连接下的所有数据表
|
||||
*/
|
||||
@GetMapping("/getSourceTables")
|
||||
public ApiResult<List<TabResult>> listSourceTables(String token, String dbId) {
|
||||
// 1. 验证token有效性
|
||||
if (vToken.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return dbService.listSourceTables(dbId);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/getInfo")
|
||||
public ApiResult<List<HostService.SnapshotDTO>> getApiInfo(String token) {
|
||||
if (vToken.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return hostService.getApiInfo();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取容器列表
|
||||
*/
|
||||
@GetMapping("/getDockerInfo")
|
||||
@GetMapping("/DockerInfo")
|
||||
public ApiResult<?> getDockerInfo(String token) {
|
||||
if (vToken.isValidToken(token)) {
|
||||
if (tokenBean.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return hostService.getDockerInfo();
|
||||
@@ -82,9 +43,9 @@ public class apiController {
|
||||
/**
|
||||
* 启动容器
|
||||
*/
|
||||
@GetMapping("/getStartDockerInfo")
|
||||
@GetMapping("/StartDockerInfo")
|
||||
public ApiResult<?> startDockerInfo(String id, String token) {
|
||||
if (vToken.isValidToken(token)) {
|
||||
if (tokenBean.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return hostService.startDockerInfo(id);
|
||||
@@ -94,9 +55,9 @@ public class apiController {
|
||||
/**
|
||||
* 停止容器
|
||||
*/
|
||||
@GetMapping("/getStopDockerInfo")
|
||||
@GetMapping("/StopDockerInfo")
|
||||
public ApiResult<?> stopDockerInfo(String id, String token) {
|
||||
if (vToken.isValidToken(token)) {
|
||||
if (tokenBean.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return hostService.stopDockerInfo(id);
|
||||
@@ -106,9 +67,9 @@ public class apiController {
|
||||
/**
|
||||
* 获取容器主机的磁盘使用情况
|
||||
*/
|
||||
@GetMapping("/getTaskDockerDiskInfo")
|
||||
@GetMapping("/TaskDockerDiskInfo")
|
||||
public ApiResult<?> getTaskDockerDiskInfo(String token) {
|
||||
if (vToken.isValidToken(token)) {
|
||||
if (tokenBean.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return dockerService.jobHostDisk();
|
||||
@@ -118,9 +79,9 @@ public class apiController {
|
||||
/**
|
||||
* 运行全部任务数据同步
|
||||
*/
|
||||
@GetMapping("/getTaskSyncDbInfo")
|
||||
@GetMapping("/TaskSyncDbInfo")
|
||||
public ApiResult<?> getTaskSyncDbInfo(String token) {
|
||||
if (vToken.isValidToken(token)) {
|
||||
if (tokenBean.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return dbService.jobSyncAllTask();
|
||||
@@ -129,9 +90,9 @@ public class apiController {
|
||||
/**
|
||||
* 运行单个任务
|
||||
*/
|
||||
@GetMapping("/getTaskSyncDbByInfo")
|
||||
@GetMapping("/TaskSyncDbByInfo")
|
||||
public ApiResult<?> getTaskSyncDbByInfo(String token, String taskId) {
|
||||
if (vToken.isValidToken(token)) {
|
||||
if (tokenBean.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return dbService.jobSyncOneTask(taskId);
|
||||
|
||||
66
src/main/java/com/mini/capi/sys/Api/listController.java
Normal file
66
src/main/java/com/mini/capi/sys/Api/listController.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package com.mini.capi.sys.Api;
|
||||
|
||||
import com.mini.capi.config.TokenBean;
|
||||
import com.mini.capi.model.ApiResult;
|
||||
import com.mini.capi.model.TabResult;
|
||||
import com.mini.capi.sys.domain.TableInfo;
|
||||
import com.mini.capi.sys.service.DataService;
|
||||
import com.mini.capi.sys.service.DbService;
|
||||
import com.mini.capi.sys.service.HostService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/Sys/apiList")
|
||||
public class listController {
|
||||
|
||||
|
||||
@Resource
|
||||
private TokenBean tokenBean;
|
||||
|
||||
@Resource
|
||||
private HostService hostService;
|
||||
|
||||
@Resource
|
||||
private DbService dbService;
|
||||
|
||||
@Resource
|
||||
private DataService dataService;
|
||||
|
||||
/**
|
||||
* 获取表的结构和字段
|
||||
*/
|
||||
@GetMapping("/getTableDetail")
|
||||
public ApiResult<TableInfo> getTableDetail(String token, String taskId) {
|
||||
if (tokenBean.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return dataService.getTableDetail(taskId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取MySQL的当前连接下的所有数据表
|
||||
*/
|
||||
@GetMapping("/getSourceTables")
|
||||
public ApiResult<List<TabResult>> listSourceTables(String token, String dbId) {
|
||||
// 1. 验证token有效性
|
||||
if (tokenBean.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return dbService.listSourceTables(dbId);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/getCpuInfo")
|
||||
public ApiResult<List<HostService.SnapshotDTO>> getApiInfo(String token) {
|
||||
if (tokenBean.isValidToken(token)) {
|
||||
return ApiResult.error(401, "无效的访问令牌");
|
||||
}
|
||||
return hostService.getApiInfo();
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,18 @@
|
||||
package com.mini.capi.utils;
|
||||
|
||||
import com.mini.capi.config.TokenBean;
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
public class vToken {
|
||||
|
||||
|
||||
private static final String DEFAULT_TOKEN = "3774e79ac55aff6d1afc0f94bfaf131d";
|
||||
@Resource
|
||||
private TokenBean tokenConfig;
|
||||
|
||||
public static boolean isValidToken(String token) {
|
||||
|
||||
return !DEFAULT_TOKEN.equals(token);
|
||||
public boolean isValidToken(String token) {
|
||||
|
||||
return tokenConfig.isValidToken(token);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user