mirror of
https://github.com/dataease/dataease.git
synced 2025-02-24 19:42:56 +08:00
fix: 修复API分页抽取数据丢失
This commit is contained in:
parent
c5f71956dd
commit
8a8366f16b
@ -85,10 +85,11 @@ public class ApiUtils {
|
|||||||
result.put("fieldList", fieldList);
|
result.put("fieldList", fieldList);
|
||||||
if (apiDefinition.getRequest().getPage().getPageType().equalsIgnoreCase("pageNumber")) {
|
if (apiDefinition.getRequest().getPage().getPageType().equalsIgnoreCase("pageNumber")) {
|
||||||
int pageCount = JsonPath.read(response, apiDefinition.getRequest().getPage().getResponseData().get(0).getResolutionPath());
|
int pageCount = JsonPath.read(response, apiDefinition.getRequest().getPage().getResponseData().get(0).getResolutionPath());
|
||||||
|
int beginPage = Integer.valueOf(apiDefinition.getRequest().getPage().getRequestData().get(0).getParameterDefaultValue());
|
||||||
if (apiDefinition.getRequest().getPage().getResponseData().get(0).getResolutionPathType().equalsIgnoreCase("totalNumber")) {
|
if (apiDefinition.getRequest().getPage().getResponseData().get(0).getResolutionPathType().equalsIgnoreCase("totalNumber")) {
|
||||||
pageCount = pageCount / Integer.valueOf(apiDefinition.getRequest().getPage().getRequestData().get(1).getParameterDefaultValue());
|
pageCount = pageCount / Integer.valueOf(apiDefinition.getRequest().getPage().getRequestData().get(1).getParameterDefaultValue()) + 1;
|
||||||
}
|
}
|
||||||
for (int i = 1; i < pageCount + 1; i++) {
|
for (int i = beginPage; i <= pageCount; i++) {
|
||||||
apiDefinition.getRequest().getPage().getRequestData().get(0).setParameterDefaultValue(String.valueOf(i));
|
apiDefinition.getRequest().getPage().getRequestData().get(0).setParameterDefaultValue(String.valueOf(i));
|
||||||
response = execHttpRequest(false, apiDefinition, apiDefinition.getApiQueryTimeout() == null || apiDefinition.getApiQueryTimeout() <= 0 ? 10 : apiDefinition.getApiQueryTimeout(), params(datasourceRequest));
|
response = execHttpRequest(false, apiDefinition, apiDefinition.getApiQueryTimeout() == null || apiDefinition.getApiQueryTimeout() <= 0 ? 10 : apiDefinition.getApiQueryTimeout(), params(datasourceRequest));
|
||||||
dataList.addAll(fetchResult(response, apiDefinition));
|
dataList.addAll(fetchResult(response, apiDefinition));
|
||||||
|
@ -90,7 +90,8 @@ export default {
|
|||||||
response: 'Response',
|
response: 'Response',
|
||||||
please_enter_jsonpath: 'Please enter JsonPath',
|
please_enter_jsonpath: 'Please enter JsonPath',
|
||||||
enter_parameter_name: 'Please enter parameter name',
|
enter_parameter_name: 'Please enter parameter name',
|
||||||
enter_default_value: 'Please enter default value'
|
enter_default_value: 'Please enter default value',
|
||||||
|
enter_first_page: 'Please enter the page number of the first page'
|
||||||
},
|
},
|
||||||
operate_log: {
|
operate_log: {
|
||||||
name: 'Operation log',
|
name: 'Operation log',
|
||||||
@ -273,6 +274,7 @@ export default {
|
|||||||
view_data_structure: 'View data structure',
|
view_data_structure: 'View data structure',
|
||||||
the_data_structure: 'No data yet, please check the fields in the data structure',
|
the_data_structure: 'No data yet, please check the fields in the data structure',
|
||||||
parameter: 'Parameter',
|
parameter: 'Parameter',
|
||||||
|
page_parameter: 'Page Parameter',
|
||||||
fixed_value: 'Fixed value',
|
fixed_value: 'Fixed value',
|
||||||
time_function: 'Time function',
|
time_function: 'Time function',
|
||||||
customize: 'Customize',
|
customize: 'Customize',
|
||||||
|
@ -90,7 +90,8 @@ export default {
|
|||||||
response: '回應',
|
response: '回應',
|
||||||
please_enter_jsonpath: '請輸入 JsonPath',
|
please_enter_jsonpath: '請輸入 JsonPath',
|
||||||
enter_parameter_name: '請輸入參數名稱',
|
enter_parameter_name: '請輸入參數名稱',
|
||||||
enter_default_value: '請輸入預設值'
|
enter_default_value: '請輸入預設值',
|
||||||
|
enter_first_page: '請輸入第一頁的頁碼'
|
||||||
},
|
},
|
||||||
operate_log: {
|
operate_log: {
|
||||||
name: '操作日誌',
|
name: '操作日誌',
|
||||||
@ -265,6 +266,7 @@ export default {
|
|||||||
view_data_structure: '查看資料結構',
|
view_data_structure: '查看資料結構',
|
||||||
the_data_structure: '暫無數據,請在資料結構勾選欄位',
|
the_data_structure: '暫無數據,請在資料結構勾選欄位',
|
||||||
parameter: '參數',
|
parameter: '參數',
|
||||||
|
page_parameter: '分页參數',
|
||||||
fixed_value: '固定值',
|
fixed_value: '固定值',
|
||||||
time_function: '時間函數',
|
time_function: '時間函數',
|
||||||
customize: '自訂',
|
customize: '自訂',
|
||||||
|
@ -91,7 +91,8 @@ export default {
|
|||||||
response: '响应',
|
response: '响应',
|
||||||
please_enter_jsonpath: '请输入 JsonPath',
|
please_enter_jsonpath: '请输入 JsonPath',
|
||||||
enter_parameter_name: '请输入参数名称',
|
enter_parameter_name: '请输入参数名称',
|
||||||
enter_default_value: '请输入默认值'
|
enter_default_value: '请输入默认值',
|
||||||
|
enter_first_page: '请输入第一页的页码'
|
||||||
},
|
},
|
||||||
operate_log: {
|
operate_log: {
|
||||||
name: '操作日志',
|
name: '操作日志',
|
||||||
@ -266,6 +267,7 @@ export default {
|
|||||||
view_data_structure: '查看数据结构',
|
view_data_structure: '查看数据结构',
|
||||||
the_data_structure: '暂无数据,请在数据结构勾选字段',
|
the_data_structure: '暂无数据,请在数据结构勾选字段',
|
||||||
parameter: '参数',
|
parameter: '参数',
|
||||||
|
page_parameter: '分页参数',
|
||||||
fixed_value: '固定值',
|
fixed_value: '固定值',
|
||||||
time_function: '时间函数',
|
time_function: '时间函数',
|
||||||
customize: '自定义',
|
customize: '自定义',
|
||||||
|
@ -109,6 +109,10 @@ const options = [
|
|||||||
label: t('data_source.parameter'),
|
label: t('data_source.parameter'),
|
||||||
value: 'params'
|
value: 'params'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: t('data_source.page_parameter'),
|
||||||
|
value: 'pageParams'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: t('data_source.fixed_value'),
|
label: t('data_source.fixed_value'),
|
||||||
value: 'fixed'
|
value: 'fixed'
|
||||||
@ -122,6 +126,16 @@ const options = [
|
|||||||
value: 'custom'
|
value: 'custom'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
const pageParams = [
|
||||||
|
{
|
||||||
|
label: '${pageNumber}',
|
||||||
|
value: '${pageNumber}'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '${pageSize}',
|
||||||
|
value: '${pageSize}'
|
||||||
|
}
|
||||||
|
]
|
||||||
const timeFunLists = [
|
const timeFunLists = [
|
||||||
{
|
{
|
||||||
label: t('data_source.that_day') + '(yyyy-MM-dd)',
|
label: t('data_source.that_day') + '(yyyy-MM-dd)',
|
||||||
@ -221,11 +235,23 @@ const timeFunLists = [
|
|||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
<el-select
|
||||||
|
v-model="element.value"
|
||||||
|
v-if="!needMock && activeName === 'table' && element.nameType === 'pageParams'"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in pageParams"
|
||||||
|
:key="item.originName"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
<el-input
|
<el-input
|
||||||
v-if="
|
v-if="
|
||||||
activeName === 'table' &&
|
activeName === 'table' &&
|
||||||
element.nameType !== 'params' &&
|
element.nameType !== 'params' &&
|
||||||
element.nameType !== 'timeFun'
|
element.nameType !== 'timeFun' &&
|
||||||
|
element.nameType !== 'pageParams'
|
||||||
"
|
"
|
||||||
v-model="element.value"
|
v-model="element.value"
|
||||||
:disabled="isReadOnly"
|
:disabled="isReadOnly"
|
||||||
|
@ -140,21 +140,16 @@ const handleNumberSizeChange = () => {
|
|||||||
prop="builtInParameterName"
|
prop="builtInParameterName"
|
||||||
:label="t('api_pagination.built_in_parameter_name')"
|
:label="t('api_pagination.built_in_parameter_name')"
|
||||||
/>
|
/>
|
||||||
<el-table-column :label="t('api_pagination.request_parameter_name')" width="220">
|
|
||||||
<template #default="scope">
|
|
||||||
<el-input
|
|
||||||
v-model="scope.row.requestParameterName"
|
|
||||||
style="width: 100%"
|
|
||||||
:placeholder="t('api_pagination.enter_parameter_name')"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column :label="t('api_pagination.parameter_default_value')" width="220">
|
<el-table-column :label="t('api_pagination.parameter_default_value')" width="220">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="scope.row.parameterDefaultValue"
|
v-model="scope.row.parameterDefaultValue"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:placeholder="t('api_pagination.enter_default_value')"
|
:placeholder="
|
||||||
|
scope.row.builtInParameterName === '${pageNumber}'
|
||||||
|
? t('api_pagination.enter_first_page')
|
||||||
|
: t('api_pagination.enter_default_value')
|
||||||
|
"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
2
de-xpack
2
de-xpack
@ -1 +1 @@
|
|||||||
Subproject commit 07d5ca7b79e6b4a2e2077d2969d80ae44d0867d6
|
Subproject commit 9afdcb94d80d3dc9567547e1a71462cd6ff68062
|
Loading…
Reference in New Issue
Block a user