需要使用 FineDataLink 取出 API 資料時,由於資料量限制或者API回應時間,有時需要分頁取數。
「進階配置」設定項中,可開啟「分頁取數」按鈕,對源端 API 資料進行分頁取數,分頁方式支援:頁碼、偏移、游標
當前只支援回傳值為 json 的 API。
FineDataLink 提供 pageNum 這個參數進行分頁取數,代表頁數,可自訂該參數的初始值,增長間隔為1(不可自訂)。
比如取數時,設定從第一頁開始取數,下次從第二頁開始取數,以此類推,分頁取數的次數限制為 10000 次。
使用者還需根據實際情況設定循環結束條件。
範例說明(幫助理解功能):
比如有個 API API,存在大量資料,需要進行分頁取數:
1)取數時需要填入 pageNum(頁數)和pageSize(單頁大小)這兩個參數
2)API呼叫成功後,會傳回 totalNum(總資料條數)
由於有 totalNum ,可透過 totalNum/pageSize 計算總頁數,當取數次數>=總頁數時,終止循環
所有分頁方式的分頁取數中,分頁結束條件邏輯:先執行迴路本體,再判斷是否終止循環。範例:假設頁數 pageNum>=totalpages 時,停止執行,當 totalpages 為 8,pageNum 也為 8 時,會先執行 pageNum 為 8 的循環,再終止執行。
限制分頁取數的次數。
預設為128
不能為空,限制最大值為 10000
當達到循環上限時,還未滿足分頁結束條件,也結束分頁取數,並報錯
分頁方式-頁碼
參數:
只能在這個「API輸入算子」內使用、為算子級參數、且同名優先最高;
在單次調取API結束後,再自增;
使用者可在 Query 參數和Body內的各種格式下使用,與標準的參數用法無差異;
更新策略:
初始值:使用者可配置初始值,預設為1,不能為空
增長間隔:使用者不能修改增長間隔,預設為1,不能為空
使用者配置起始值和增長間隔後,每次循環後執行自增動作,自增邏輯為:pageNum=pageNum+增長間隔
分頁結束條件:
http status:本次循環的API傳回 http status
JSONPath:本次循環的API傳回body作為基礎,在這個基礎上透過寫JSONPath獲取資訊(僅支援傳回單個值,如果傳回是陣列或者JSON物件,也格式化為字串);當回應體的jsonPath沒有時,則取空
requestTimes:分頁取數的循環次數,如果在循環容器中的API輸入算子,該取數次數循環容器每次循環分開計數
pageNum:頁碼參數$pageNum
注:值可以引用參數。
使用者可在Query參數和Body內的各種格式下使用,與標準的參數用法無差異;
增長間隔:使用者用可配置增長間隔,預設為20,不能為空
使用者配置起始值和增長間隔後,每次循環後執行自增動作,自增邏輯為:offset=offset+增長間隔
offset:偏移參數$offset
注:值可以引用參數
用於鏈式循環場景,每次循環後執行繼承更新動作;
預設值:預設為空,使用者可輸入、允許為空、支援參數引用,
游標參數更新:
當回應體的jsonPath沒有時,則取空
使用者可以使用本次循環的API傳回的body作為基礎,在這個基礎上透過寫JSONPath作為更新後的值(僅支援傳回單個值,如果傳回是陣列或者JSON物件,也格式化為字串)
注:先判斷分頁結束條件,再執行游標參數更新。
cursor:游標參數$cursor
在API 分頁取數時,偏移(offset) 是指從結果集的開頭開始跨越的記錄數量,它決定了當前請求從哪一筆資料開始傳回。
簡單來說,偏移就是“跨越前面多少筆資料,從第幾條開始拿”。
核心概念:
偏移(offset):指定查詢結果的起始位置,即跨越多少條記錄後開始傳回資料。索引從 0 開始,所以 offset=0 表示從第 1 筆資料開始,offset=10 表示跨越前 10 條,從第 11 條開始取數。
限制條數(limit):指定每次請求最多傳回多少筆資料。
範例:
如果每次取兩條,那麼取 5 次取完,那麼循環結束條件可設定為最後一次取數條數>0
可以用其他標準設定結束條件,根據實際情況設定
提示:
具體範例可參考:分頁取數-按偏移取數
offset參數,代表偏移
同名優先最高
在單次調取API結束後,再自增
使用者可在Query參數和Body內的各種格式下使用,與標準的參數用法無差異
http status、JSONPath、requestTimes說明請參見本文 3.1.2 節內容
游標分頁邏輯:類似於書簽,記錄當前位置(游標),從這個位置開始取下一次的資料。
比如有個 API API:
1)取數時需要傳入 cursor 參數,代表從哪個位置開始取數
最開始傳0,後續傳傳回參數中的next_cursor值
2)呼叫API後,傳回參數:
has_more ,若沒有資料,值為 fslse
next_cursor:下一次分頁的游標
根據API基本情況,可看出:
1)分頁結束條件:has_more 為 false,代表資料已經取完,應該結束分頁
2)取數時具體設定:
具體範例可參考:分頁取數-分頁方式為游標
cursor 參數
用於鏈式循環場景,每次循環後執行繼承更新動作
1)預設值:預設為空,使用者可輸入、允許為空、支援參數引用,
2)游標參數更新:
值可以引用參數
勾選了分頁取數後, API 資料源其他功能說明:
json路徑
將解析後的json資料展開為二維表
如果API節點只配置了分頁取數,將每次取數獲得的json拼成一個一欄N行的二維表(該二維表只有一欄 responseBody)
如果API節點本身配置了分頁取數&Json路徑,將每次取數獲得相應路徑下的json,拼成一個一欄N行的二維表(該二維表只有一欄responseBody)
因為每次分頁取數時獲得 json 可能不一樣,如果找不到相應json路徑,則為空
如果 API 節點本身配置了分頁取數&Json 路徑為「$.data」&勾選「將解析後的JSON資料展開為二維表」,將每次取數獲得相應路徑下 json 進行拆列,拼成一個N列N行的二維表
因為每次分頁取數時獲得 json 可能不一樣,每次將json展開二維表時,如果遇到新的屬性,則新增列
沒有相關屬性的分頁取數,相關列為空
資訊類型(參數指派)
回應體
回應頭
狀態碼
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙