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

View File

@@ -18,7 +18,7 @@ import { isFunction } from 'lodash';
import FullScreen from '@/components/FullScreen';
import SqlEditor from '@/components/SqlEditor';
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 styles from '../style.less';
@@ -249,7 +249,7 @@ const SqlDetail: React.FC<IProps> = ({
sqlVariables: sqlParams,
});
const { code: getColumnCode, data: getColumnData } = await getColumnsBySql({
const { code: getColumnCode, data: getColumnData } = await listColumnsBySql({
sql: value,
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 });
}
export async function getColumnsBySql(params: { databaseId: number; sql: string }) {
return request.get(`${process.env.API_BASE_URL}database/getColumnsBySql`, {
export async function listColumnsBySql(params: { databaseId: number; sql: string }) {
return request.get(`${process.env.API_BASE_URL}database/listColumnsBySql`, {
params,
});
}