綁定應用時,提供按鈕支援建立應用
API詳情頁,綁定應用處,可:將 API 綁定到其他應用上、顯示且可複制完整存取路徑、解綁應用、修改授權有效期
API 詳情頁新增最近編輯時間
背景說明:
舊版本升級到 4.2.6.2-4.2.16.3 版本,若升級前API為 POST 請求方式&& Body 格式為 application/json&&自訂參數為多個,升級後若再編輯儲存該API,呼叫該API時傳參的順序不能變,否則參數傳入會錯位
本版本優化點:
舊版本升級到 4.2.16.4 及之後版本,不會出現上述問題
若已經出現上述問題,升級到 4.2.16.4 及之後版本,可點選「APIAPI配置-請求參數」中的「自訂 JSONPath」按鈕,修改JSONPath,修改方法請參見本文第四章說明
查看曆史版本更新:曆史版本
企業安全規範要求,不允許直連業務庫,程式碼開發API效率低,人工傳輸易出錯。
缺乏安全的資料共享機制,隨着資料消費端增加,IT 出現重複造輪子的傾向。
FineDataLink 支援將資料庫資料、儲存程式以 API API形式發布,便於其他系統或工具呼叫。
1)使用「資料服務」的前提條件和其他約束限制請參見:資料服務概述
2)若使用 Doris、StarRocks、impala 作為發布的資料源,需要指定有效的排序欄位,否則將無法正常分頁,影響後續使用API取數。
方案一:使用 ORDER BY 語句指定有效的排序欄位
4.2.6.2 及之後版本,若開啟「分頁查詢」按鈕(傳回資料實現分頁效果),需要做此操作
方案二:4.2.0.3 及之後版本,可設定回傳值排序
建立一個 API 後,需要 2 步完成該 API 的設計:服務內容(資料查詢)、APIAPI配置。
進入 FDL 工程,點選「資料服務」,在有權限的路徑下建立API服務,設定 API 所在路徑及名稱後,點選「確定」按鈕。如下圖所示:
各設定項介紹如下表所示:
配置 API 名稱
API 名稱不能重名,不能為空
預設為空,最大長度 50 字元,必填
配置 API 描述
預設為空,最大長度 100 字元,非必填
「配置方式」設定項中可選擇SQL、選表(4.1.3 版本新增)、存儲程式(4.2.12.2 版本新增)。
1)SQL
透過 SQL 語句從源資料庫的表中查詢取數,且支援引用參數,參數的具體介紹請參見:參數概述
使用者可選擇指定的資料庫,並在該資料庫下搜尋需要的資料表,然後寫入右側 SQL 輸入框,如下圖所示:
2)選表
選擇來源表,不能為空
4.1.11.5 及之後的版本配置方式選擇「選表」時,若選擇了指定資料表,介面展示表所在資料庫或者模式
4.1.13.2 及之後版本,支援選擇部分欄位:
1)選欄位時若全選欄位,後續該表新增的欄位,不會被當成選中的狀態
2)未選的表欄位,在「資料過濾」功能中,可被聯想出來
3)已被選擇的欄位,若希望取消選擇,有兩種方案:
4)「回傳值配置」中,僅展示已選的欄位
顯示表備注
不支援該功能的資料庫:
ClickHouse、Hive、Impala、TRANSWARP INCEPTOR、Informix、MaxCompute、SQLite、StarRocks
可為空
可過濾來源表的資料,內容為:使用所選資料庫的文法編寫 WHERE 條件語句(無需填寫 WHERE 關鍵字)
支援引用各類參數
支援聯動參數值;支援聯動資料表中欄位
不支援寫 limit 語句
當資料庫類型為 MySQL、Oracle、SQLServe 時,配置方式支援選擇儲存過程
注:資料連結使用者需要有待呼叫儲存程式的查詢、執行權限,不同資料庫設定方法可能不同,具體可自行百度
1)可預覽儲存程式中存在的輸入參數,參數名稱、參數類型、參數方向不支援修改
2)修改參數除錯值入口(下面兩處任一一端數值改變,另一端保持同步):
點選「資料預覽」,可輸入參數除錯值
參數和變數-服務入參中(本文 3.2.5 節),可設定參數除錯值
參數除錯值不支援引用參數
1)選擇儲存程式後,「傳回結果集」中自動展示結果集類型:查詢結果集、游標結果集
2)當結果集類型為「查詢結果集」時,可在「指定結果集」中點選「選擇」按鈕,預覽結果集資料並選中結果集
注:若某個結果集預覽失敗,禁止選中
2)當結果集類型為「游標結果集」時,須「選擇游標」。游標預設選擇儲存程式中的第一個游標
3)MySQL、SQLServer 只支援查詢結果集;Oracle 只支援游標結果集,限制為 out 中的 resultset 類型的結果集
回傳值配置中點選「配置」按鈕後,支援指定排序欄位和排序規則。
說明如下:
1)應用場景:
資料服務 API 發布的API,使用者呼叫時(比如分頁取數時),希望取出或預覽的資料根據某個欄位有序排列。
2)功能疊代說明:
1)配置方式為 SQL 時,Greenplum、YMatrix、GaussDB 資料源,支援指定欄位排序
2)配置方式為選表時,所有資料源均支援指定欄位排序
配置方式為 SQL、選表:任意資料庫都支援欄位排序功能
2)資料源為 GreenPlum、YMatrix、GaussDB 200、TiDB、AnalyticDB MySQL、TRANSWARP INCEPTOR、KingbaseES(MySQL)、KingbaseES(Oracle)、Cache 時,若開啟了分頁取數,必須配置回傳值排序
3)可指定單個欄位作為排序欄位;也可指定多個欄位作為組合排序欄位(需要區分排序優先)。
4)排序規則可選擇:升冪、降冪,預設為升冪。
5)生效方式:排序欄位勾選後,點選「重新整理並預覽」/「下一步」即觸發生效。若修改後,也是「重新整理並預覽」/「下一步」重新生效。
4.2.6.2 及之後版本支援該功能。
可控制單次請求資料量。
預設值為 10000,可修改,上限為100000 條;範例:單次請求量設定為 10 ,實際取數單次有 12 條,呼叫 API 後,只能取出 10 條。
1)預設開啟,可以關閉:
2)開啟「分頁查詢」按鈕後,會自動生成 3 個參數:pageNum、pageSize、returnTotalNum,自動匯出 4 個傳回變數:totalNum、pageSize、pageNum、rowCount。
參數說明如下表所示:
若「分頁查詢」按鈕開啟&參數設定為必填,其他系統或工具呼叫生成的 API 時,需要填入這些參數。
呼叫 API 時使用參數範例:
當「參數必填按鈕」關閉時,可配置預設值
預設值為 true
傳回變數說明如下表所示:
其他系統或工具呼叫生成的 API 時,傳回的資料中會包含傳回變數資料。
呼叫 API 後參數傳回範例:
當前頁數包含的資料條數
與 pageNum 頁數有關。比如一共12筆資料,傳入的pageNum是2,pageSize是10。實際會查詢第二頁的資料,實際傳回2
若「配置方式」(本文 3.2.1 節)步驟中,設定了參數,「服務入參」中自動顯示設定的參數。如下圖所示:
參數名稱不可重名
預設為空,必填
字串
數字
布爾值
注:對於日期類型參數標識為字串,使用字串形式傳入,格式舉例:【yyyy-MM-dd HH:mm:ss】
點選「資料預覽」時填入的參數值
4.2.16.1 及之後版本,除錯值可選擇:自訂、NULL值
如果沒有勾選必填,則要求預設值配置項不能為空
配置當前參數的預設值,參數配置為「非必填」時需要填寫預設值
當參數配置非必填,沒有傳參的情況下:取預設值作為參數值,預設值可以是對應類型的任何值,預設值可以為NULL
注:參數是否必填,是針對實際API呼叫傳參程式的,在進行預覽和測試時,參數還是必須填完整
為參數新增描述
預設為空
4.2.8.4 及之後版本,output 陣列支援為展開的內部欄位新增備注
點選「配置」按鈕,可展開陣列內部欄位,為欄位新增備注。如下圖所示:
注:會預設讀取欄位的已有注釋;新增的注釋將隨「匯出API文檔」一同匯出。
各設定項說明如下表所示:
POST 透過 Body 傳入參數,GET 透過 URL 傳入參數(QueryParam)
傳入參數 QueryParam 時的參數說明如下:
參數格式:QueryParam 將參數以鍵值對的形式附加在URL的查詢字串部分。每個鍵值對由等號(=)連結參數名和參數值,不同的鍵值對之間使用與號(&)分隔。
參數位置:QueryParam的參數出現在URL的問號(?)之後,直到URL結束或遇到哈希標記(#)為止。範例:http://example.com/api?param1=value1¶m2=value2#position。
API路徑不允許重複。
預設為空,支援指定英文、數字、底線(_)、連字元(-)、正斜槓(/);不支援以正斜槓(/)開頭和結尾
例如以下完整的API請求路徑範例:
http://192.168.5.175:8089/webroot/service/publish/應用ID/demo
注1:service前的部分為發布API所在的當前 FineDataLink 伺服器地址
注2:應用ID是API被綁定應用的ID,詳情參見綁定API至應用
預設10000ms,必填
綁定應用
API 若想被呼叫必須綁定應用
1)使用者可在建立API時將其新增到某個應用上
點選「新增」按鈕,可將 API 綁定到已有應用上;4.2.16.2 及之後版本,點選「新增」按鈕後,可再點選「去建立」按鈕建立應用,將該 API 綁定在建立應用上
2)或者建立 API 後,在應用列表Tab下,將 API 綁定在應用上
具體說明請參見:綁定API至應用
3)4.2.16.2 及之後版本,綁定應用後,新增「存取路徑」欄位,可複制完整存取路徑
1)請求 Body 格式說明:
請求方式選擇 POST 時展示。
選擇請求的 Body 格式(其實就是請求Content-Type):
application/json 不能處理帶有編碼格式的Content-Type,例如application/json; charset=UTF-8
application/x-www-form-urlencoded
預設選擇「application/json」。
2)不同場景說明:
其他系統或工具呼叫生成的 API 時,需要輸入請求參數;請求參數根據 3.2.5 節中「服務入參」的變動而變動。
對於必填的「服務入參」(3.2.5 節)中的參數,若不被綁定,則除錯和運作時報錯。
支援修改參數名
1)自動生成 JSON 格式,允許使用者調整(邏輯參考JSON生成,允許新增多個子陣列)
2)點選「快捷生成」按鈕,下拉框中可選擇自動生成、按JSON範本生成,詳細說明請參見:JSON生成 文檔
3)4.2.16.4 及之後版本,新增「自訂JSONPath」按鈕
應用場景:詳情請參見本文第四章內容說明
1)展示呼叫 API 後傳回的資料格式(JSON 格式)。
2)反映異常資訊按鈕(4.2.8.4 版本新增):
勾選:API異常資訊將反映在 HTTP 狀態碼上。
不勾選:HTTP 狀態碼僅傳回 200 或 404。
3)支援使用者自動調整傳回的資料格式;點選「快捷生成」按鈕,下拉框中可選擇自動生成、按JSON範本生成,詳細說明請參見:JSON生成 文檔。
4)輸入 Body 測試值或者 Params 測試值進行API除錯,測試呼叫情況。如下圖所示:
5)4.2.8.4 及之後版本,陣列類型的變數,新增「詳情」按鈕,可查看陣列所包含欄位的注釋。如下圖所示:
點選「儲存」按鈕或者「儲存聯集線」按鈕生成 API。
若配置不完整,點選「儲存聯集線」按鈕將報錯,但可以點選「儲存」按鈕儲存已有配置。
4.2.6.2 及之後版本,新增「測試呼叫」按鈕,無論 API 是否上下線,都支援除錯操作;若 API 配置不完整,該按鈕不可用。
4.2.16.2 及之後版本,綁定應用處,可:將 API 綁定到其他應用上、顯示且可複制完整存取路徑、解綁應用、修改授權有效期;同時,顯示最近編輯時間。
API 若想被呼叫必須綁定應用。
使用者可在本文 3.2 節步驟中給 API 綁定應用,或者 3.4 節結束後,參考 綁定API至應用 給 API 綁定應用。
1)API 發布後,呼叫說明文檔請參見:
使用資料服務發布的API(GET 請求)
使用資料服務發布的API(POST application/json請求)
使用資料服務發布的API(POST x-www-form-urlencoded請求)
2)完整的 API 路徑獲取方式:
發佈 API
注:4.1.6.3 及之後版本,API任務、資料服務應用禁止被多人同時編輯。詳情請參見:任務禁止被多人同時編輯
發佈API-多值查詢
發佈API-查詢NULL值資料
發佈API-參數為空查詢全部
使用資料服務發佈的API(GET 請求)
使用資料服務發佈的API(POST application/json請求)
使用資料服務發佈的API(POST x-www-form-urlencoded請求)
某公司旗下各個地區有多個分公司和分店,且使用的同一套業務系統
業務資料會全部匯總到總部的資料庫內,分店只能在業務系統上看到特定的分析和資料,無法實現自訂分析
總部希望對資料進行分權限管控:總部按照地區提供資料,一個地區分店和分公司只能看到自己地區的資料,不允許看到其他地區的資料,各地區自行獲取資料後在不同工具中進行資料分析和使用
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙