mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 19:51:00 +00:00
refactor(headless): 使用 ColumnReq 请求对象替换 getColumnsBySql引入 ColumnReq 请求对象以统一请求参数,并在 DatabaseController 中替换 getColumnsBySql 方法以使用此对象。相应地,更新 service.ts 中的函数以匹配新端点 listColumnsBySql,并在 SqlDetail.tsx 中调用更新后的函数。 (#1678)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -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")
|
||||
|
||||
@@ -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,
|
||||
});
|
||||
|
||||
@@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user