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);
|
||||
if (apiDefinition.getRequest().getPage().getPageType().equalsIgnoreCase("pageNumber")) {
|
||||
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")) {
|
||||
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));
|
||||
response = execHttpRequest(false, apiDefinition, apiDefinition.getApiQueryTimeout() == null || apiDefinition.getApiQueryTimeout() <= 0 ? 10 : apiDefinition.getApiQueryTimeout(), params(datasourceRequest));
|
||||
dataList.addAll(fetchResult(response, apiDefinition));
|
||||
|
@ -90,7 +90,8 @@ export default {
|
||||
response: 'Response',
|
||||
please_enter_jsonpath: 'Please enter JsonPath',
|
||||
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: {
|
||||
name: 'Operation log',
|
||||
@ -273,6 +274,7 @@ export default {
|
||||
view_data_structure: 'View data structure',
|
||||
the_data_structure: 'No data yet, please check the fields in the data structure',
|
||||
parameter: 'Parameter',
|
||||
page_parameter: 'Page Parameter',
|
||||
fixed_value: 'Fixed value',
|
||||
time_function: 'Time function',
|
||||
customize: 'Customize',
|
||||
|
@ -90,7 +90,8 @@ export default {
|
||||
response: '回應',
|
||||
please_enter_jsonpath: '請輸入 JsonPath',
|
||||
enter_parameter_name: '請輸入參數名稱',
|
||||
enter_default_value: '請輸入預設值'
|
||||
enter_default_value: '請輸入預設值',
|
||||
enter_first_page: '請輸入第一頁的頁碼'
|
||||
},
|
||||
operate_log: {
|
||||
name: '操作日誌',
|
||||
@ -265,6 +266,7 @@ export default {
|
||||
view_data_structure: '查看資料結構',
|
||||
the_data_structure: '暫無數據,請在資料結構勾選欄位',
|
||||
parameter: '參數',
|
||||
page_parameter: '分页參數',
|
||||
fixed_value: '固定值',
|
||||
time_function: '時間函數',
|
||||
customize: '自訂',
|
||||
|
@ -91,7 +91,8 @@ export default {
|
||||
response: '响应',
|
||||
please_enter_jsonpath: '请输入 JsonPath',
|
||||
enter_parameter_name: '请输入参数名称',
|
||||
enter_default_value: '请输入默认值'
|
||||
enter_default_value: '请输入默认值',
|
||||
enter_first_page: '请输入第一页的页码'
|
||||
},
|
||||
operate_log: {
|
||||
name: '操作日志',
|
||||
@ -266,6 +267,7 @@ export default {
|
||||
view_data_structure: '查看数据结构',
|
||||
the_data_structure: '暂无数据,请在数据结构勾选字段',
|
||||
parameter: '参数',
|
||||
page_parameter: '分页参数',
|
||||
fixed_value: '固定值',
|
||||
time_function: '时间函数',
|
||||
customize: '自定义',
|
||||
|
@ -109,6 +109,10 @@ const options = [
|
||||
label: t('data_source.parameter'),
|
||||
value: 'params'
|
||||
},
|
||||
{
|
||||
label: t('data_source.page_parameter'),
|
||||
value: 'pageParams'
|
||||
},
|
||||
{
|
||||
label: t('data_source.fixed_value'),
|
||||
value: 'fixed'
|
||||
@ -122,6 +126,16 @@ const options = [
|
||||
value: 'custom'
|
||||
}
|
||||
]
|
||||
const pageParams = [
|
||||
{
|
||||
label: '${pageNumber}',
|
||||
value: '${pageNumber}'
|
||||
},
|
||||
{
|
||||
label: '${pageSize}',
|
||||
value: '${pageSize}'
|
||||
}
|
||||
]
|
||||
const timeFunLists = [
|
||||
{
|
||||
label: t('data_source.that_day') + '(yyyy-MM-dd)',
|
||||
@ -221,11 +235,23 @@ const timeFunLists = [
|
||||
:value="item.value"
|
||||
/>
|
||||
</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
|
||||
v-if="
|
||||
activeName === 'table' &&
|
||||
element.nameType !== 'params' &&
|
||||
element.nameType !== 'timeFun'
|
||||
element.nameType !== 'timeFun' &&
|
||||
element.nameType !== 'pageParams'
|
||||
"
|
||||
v-model="element.value"
|
||||
:disabled="isReadOnly"
|
||||
|
@ -140,21 +140,16 @@ const handleNumberSizeChange = () => {
|
||||
prop="builtInParameterName"
|
||||
: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">
|
||||
<template #default="scope">
|
||||
<el-input
|
||||
v-model="scope.row.parameterDefaultValue"
|
||||
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>
|
||||
</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