From 1bff8251c1cf68dd14cc3cdc0d26374504cd2faf Mon Sep 17 00:00:00 2001 From: taojinlong Date: Thu, 9 Nov 2023 17:25:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=A8=E6=95=B0=E6=8D=AE=E8=A1=A8?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=E9=A1=B5=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E8=B6=85=E6=97=B6=E6=97=B6=E9=97=B4=E7=9A=84?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=EF=BC=8C=E9=BB=98=E8=AE=A4=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E8=B6=85=E6=97=B6=E6=97=B6=E9=97=B4=E4=B8=BA=EF=BC=9A30s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/datasource/ApiDefinition.java | 1 + .../provider/datasource/ApiProvider.java | 9 ++------ .../system/datasource/DsConfiguration.vue | 23 +++++++++++++++++++ 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/core/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java b/core/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java index 540081cefa..f786e37618 100644 --- a/core/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java +++ b/core/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java @@ -17,6 +17,7 @@ public class ApiDefinition { private List fields; private ApiDefinitionRequest request; private String dataPath; + private Integer queryTimeout; private String status; private List> data = new ArrayList<>(); private List jsonFields = new ArrayList<>(); diff --git a/core/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java b/core/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java index b9478cb16e..31d26fce1c 100644 --- a/core/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java +++ b/core/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java @@ -37,14 +37,10 @@ public class ApiProvider extends Provider { private static String path = "['%s']"; - @Resource - private SystemParameterService systemParameterService; - @Override public List getData(DatasourceRequest datasourceRequest) throws Exception { - BasicInfo basicInfo = systemParameterService.basicInfo(); ApiDefinition apiDefinition = checkApiDefinition(datasourceRequest); - String response = execHttpRequest(apiDefinition, StringUtils.isNotBlank(basicInfo.getFrontTimeOut()) ? Integer.parseInt(basicInfo.getFrontTimeOut()) : 10); + String response = execHttpRequest(apiDefinition, apiDefinition.getQueryTimeout() == null || apiDefinition.getQueryTimeout()<=0 ? 30 : apiDefinition.getQueryTimeout()); return fetchResult(response, apiDefinition); } @@ -68,12 +64,11 @@ public class ApiProvider extends Provider { } public Map fetchResultAndField(DatasourceRequest datasourceRequest) throws Exception { - BasicInfo basicInfo = systemParameterService.basicInfo(); Map result = new HashMap<>(); List dataList = new ArrayList<>(); List fieldList = new ArrayList<>(); ApiDefinition apiDefinition = checkApiDefinition(datasourceRequest); - String response = execHttpRequest(apiDefinition, StringUtils.isNotBlank(basicInfo.getFrontTimeOut()) ? Integer.parseInt(basicInfo.getFrontTimeOut()) : 10); + String response = execHttpRequest(apiDefinition, apiDefinition.getQueryTimeout() == null || apiDefinition.getQueryTimeout()<=0 ? 30 : apiDefinition.getQueryTimeout()); fieldList = getTableFields(apiDefinition); result.put("fieldList", fieldList); diff --git a/core/frontend/src/views/system/datasource/DsConfiguration.vue b/core/frontend/src/views/system/datasource/DsConfiguration.vue index 53dea4b597..34b9f4894d 100644 --- a/core/frontend/src/views/system/datasource/DsConfiguration.vue +++ b/core/frontend/src/views/system/datasource/DsConfiguration.vue @@ -525,6 +525,20 @@ + + + + + +
{{ $t('datasource.req_param') }} @@ -981,6 +995,13 @@ export default { trigger: 'blur' } ], + 'apiQueryTimeout': [ + { + required: true, + message: i18n.t('datasource.please_input_query_timeout'), + trigger: 'blur' + } + ], dataPath: [ { required: true, @@ -1001,6 +1022,7 @@ export default { name: '', url: '', method: 'GET', + queryTimeout: 30, request: { headers: [{}], arguments: [], @@ -1018,6 +1040,7 @@ export default { url: '', method: 'GET', dataPath: '', + queryTimeout: 30, request: { headers: [], arguments: [],