refactor(headless): 使用 ColumnReq 请求对象替换 getColumnsBySql引入 ColumnReq 请求对象以统一请求参数,并在 DatabaseController 中替换 getColumnsBySql 方法以使用此对象。相应地,更新 service.ts 中的函数以匹配新端点 listColumnsBySql,并在 SqlDetail.tsx 中调用更新后的函数。 (#1678)

This commit is contained in:
zhaodongsheng
2024-09-14 20:18:07 +08:00
committed by GitHub
parent 76f41cc32e
commit 2086a560b1
4 changed files with 17 additions and 9 deletions

View File

@@ -0,0 +1,9 @@
package com.tencent.supersonic.headless.api.pojo.request;
import lombok.Data;
@Data
public class ColumnReq {
private Long databaseId;
private String sql;
}

View File

@@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse;
import com.tencent.supersonic.auth.api.authentication.pojo.User; import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder; import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
import com.tencent.supersonic.headless.api.pojo.DBColumn; import com.tencent.supersonic.headless.api.pojo.DBColumn;
import com.tencent.supersonic.headless.api.pojo.request.ColumnReq;
import com.tencent.supersonic.headless.api.pojo.request.DatabaseReq; import com.tencent.supersonic.headless.api.pojo.request.DatabaseReq;
import com.tencent.supersonic.headless.api.pojo.request.SqlExecuteReq; import com.tencent.supersonic.headless.api.pojo.request.SqlExecuteReq;
import com.tencent.supersonic.headless.api.pojo.response.DatabaseResp; import com.tencent.supersonic.headless.api.pojo.response.DatabaseResp;
@@ -103,11 +104,9 @@ public class DatabaseController {
return databaseService.getColumns(databaseId, db, table); return databaseService.getColumns(databaseId, db, table);
} }
@RequestMapping("/getColumnsBySql") @PostMapping("/listColumnsBySql")
public List<DBColumn> getColumnsBySql( public List<DBColumn> listColumnsBySql(@RequestBody ColumnReq columnReq) throws SQLException {
@RequestParam("databaseId") Long databaseId, @RequestParam("sql") String sql) return databaseService.getColumns(columnReq.getDatabaseId(), columnReq.getSql());
throws SQLException {
return databaseService.getColumns(databaseId, sql);
} }
@GetMapping("/getDatabaseParameters") @GetMapping("/getDatabaseParameters")

View File

@@ -18,7 +18,7 @@ import { isFunction } from 'lodash';
import FullScreen from '@/components/FullScreen'; import FullScreen from '@/components/FullScreen';
import SqlEditor from '@/components/SqlEditor'; import SqlEditor from '@/components/SqlEditor';
import type { TaskResultItem, TaskResultColumn } from '../data'; import type { TaskResultItem, TaskResultColumn } from '../data';
import { executeSql, getColumnsBySql } from '@/pages/SemanticModel/service'; import { executeSql, listColumnsBySql } from '@/pages/SemanticModel/service';
import SqlParams from './SqlParams'; import SqlParams from './SqlParams';
import styles from '../style.less'; import styles from '../style.less';
@@ -249,7 +249,7 @@ const SqlDetail: React.FC<IProps> = ({
sqlVariables: sqlParams, sqlVariables: sqlParams,
}); });
const { code: getColumnCode, data: getColumnData } = await getColumnsBySql({ const { code: getColumnCode, data: getColumnData } = await listColumnsBySql({
sql: value, sql: value,
databaseId: currentDatabaseItem.key, databaseId: currentDatabaseItem.key,
}); });

View File

@@ -364,8 +364,8 @@ export async function executeSql(params: ExcuteSqlParams) {
return request.post(`${process.env.API_BASE_URL}database/executeSql`, { data }); return request.post(`${process.env.API_BASE_URL}database/executeSql`, { data });
} }
export async function getColumnsBySql(params: { databaseId: number; sql: string }) { export async function listColumnsBySql(params: { databaseId: number; sql: string }) {
return request.get(`${process.env.API_BASE_URL}database/getColumnsBySql`, { return request.get(`${process.env.API_BASE_URL}database/listColumnsBySql`, {
params, params,
}); });
} }