forked from github/dataease
feat: 在数据表的配置页,增加请求超时时间的控制,默认请求超时时间为:30s
This commit is contained in:
parent
dcfaeb33b3
commit
1bff8251c1
@ -17,6 +17,7 @@ public class ApiDefinition {
|
||||
private List<DatasetTableFieldDTO> fields;
|
||||
private ApiDefinitionRequest request;
|
||||
private String dataPath;
|
||||
private Integer queryTimeout;
|
||||
private String status;
|
||||
private List<Map<String,String>> data = new ArrayList<>();
|
||||
private List<JSONObject> jsonFields = new ArrayList<>();
|
||||
|
@ -37,14 +37,10 @@ public class ApiProvider extends Provider {
|
||||
|
||||
private static String path = "['%s']";
|
||||
|
||||
@Resource
|
||||
private SystemParameterService systemParameterService;
|
||||
|
||||
@Override
|
||||
public List<String[]> 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<String, List> fetchResultAndField(DatasourceRequest datasourceRequest) throws Exception {
|
||||
BasicInfo basicInfo = systemParameterService.basicInfo();
|
||||
Map<String, List> result = new HashMap<>();
|
||||
List<String[]> dataList = new ArrayList<>();
|
||||
List<TableField> 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);
|
||||
|
@ -525,6 +525,20 @@
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
:label="$t('datasource.query_timeout')"
|
||||
prop="apiQueryTimeout"
|
||||
>
|
||||
<el-input
|
||||
v-model="apiItem.queryTimeout"
|
||||
autocomplete="off"
|
||||
type="number"
|
||||
:min="0"
|
||||
>
|
||||
<template slot="append">{{ $t('panel.second') }}</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
||||
<div v-loading="loading">
|
||||
<div class="row-rules mr40">
|
||||
<span>{{ $t('datasource.req_param') }}</span>
|
||||
@ -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: [],
|
||||
|
Loading…
Reference in New Issue
Block a user