1. 概述
本文講述如何使用 FDL 發佈一個 API ,且發佈後的 API 如何在 FDL 工程中呼叫。
注:發布的 API 若想被呼叫,必須綁定應用;應用的認證方式有三種:無認證、AppCode、摘要簽章,本文範例介紹前兩種認證方式;摘要簽章認證方式範例請參見:加密函式實現摘要簽章認證方式
2. 開發者:發佈API
2.1 準備工作
注:對外 Demo 平台上已準備好環境,可到 對外 Demo 平台 上從本文 2.2 節步驟開始,發佈一個 API 。
1)需準備一個獨立部署的 FDL 工程,該工程已註冊 資料服務相關功能點;有一些前提條件需注意,請參見:前提條件
2)推薦使用谷歌和 Edge 瀏覽器最新版本,其他瀏覽器可能會有相容問題。
3)配置資料源:
資料服務支援的資料源詳情參見:資料服務支援的資料源
在進行資料服務建立 API 之前,需要將已處理好、需要發佈資料對應的資料庫接入 FineDataLink,以便在 API 發佈配置程式中,可透過選擇資料源名稱來控制需要發佈的資料。詳情參見:配置資料連結
2.2 建立 API
進入 FDL 工程,點選「資料服務」,建立一個 API 。如下圖所示:

2.3 配置 API
本文範例建立的 API 介紹:
| 請求方式為 POST |
| 請求 Body 格式為:application/json |
| API API內容:從 demotest 資料庫的「S訂單資料」表中,取出貨主地區為參數 area 的資料 |
配置 API 需要 3 步:填寫 API 資訊、填寫發佈內容及參數、預覽測試,這三步中具體設定項說明請參見:發佈API概述
2.3.1 資料服務(內容查詢)
從 demotest 資料庫的「S訂單資料」表中,取出貨主地區為參數 area 的資料;點選「資料預覽」按鈕可查看取出的資料。
「回傳值排序配置」設定項中,設定取出資料按照「訂單ID」升冪排列。
單次請求量含義:預設值為 10000,可修改,本文範例預設即可;範例說明:單次請求量設定為 10 ,實際取數單次有 12 條,呼叫 API 後,只能取出 10 條。
「分頁查詢」按鈕關閉,後續呼叫生成的 API 後,傳回資料不分頁。具體說明請參見 發布API概述

參數和變數設定項:無需設定。效果說明:
後續呼叫發布的 API 時,需要傳入 area 參數,傳回資料中,包含 code、message、output參數。如下圖所示:

2.3.2 APIAPI配置
請求方式設定為 POST。
路徑為 API 地址的一部分,詳情可參見本文 2.4 節內容,本文範例中填寫「wendang」。支援指定英文、數字、底線(_)、連字元(-)、正斜槓(/);不支援以正斜槓(/)開頭和結尾。
如果在「逾時時間」後仍沒有傳回查詢結果,則API傳回逾時錯誤,預設10000ms,本文範例不做修改。
發布的 API 若想被呼叫,必須綁定應用,本節步驟中暫時不綁定應用,在後續步驟中綁定(若已有應用,也可在此步驟中綁定應用)。
Body 格式預設選擇 application/x-www-form-urlencoded 。
請求參數根據 2.3.1 節中「服務入參」的變動而變動;API回應中的內容本文範例不做修改,預設即可,使用者可參考 發布API概述 文檔瞭解詳情。
如下圖所示:

2.3.3 測試呼叫
1)點選「測試呼叫」按鈕,可對 API 進行除錯;如下圖所示:
注:後續呼叫 API 時,Body 內容格式必須按照此處格式填寫。

2)關閉測試呼叫的彈窗,點選「儲存聯集線」按鈕。
2.4 API 詳情
點選「儲存聯集線」按鈕後,API 便成功生成。頁面如下圖所示:
若配置不完整,點選「儲存聯集線」按鈕將報錯,但可以點選「儲存」按鈕儲存已有配置。
4.2.6.2 及之後版本,新增「測試呼叫」按鈕,無論 API 是否上下線,都支援除錯操作;若 API 配置不完整,該按鈕不可用。

2.5 為 API 綁定應用
發布的 API 若想被呼叫,必須綁定應用。
2.5.1 建立應用
點選「應用列表」,建立一個應用。如下圖所示:

2.5.2 設定應用認證方式
場景一:無認證
1)進入建立的應用後,應用認證方式選擇「無認證」,APPCode、摘要簽章認證具體介紹請參見:綁定API至應用;將 2.3 節建立的 API 綁定到該應用中。如下圖所示:
注:應用路徑中,應用前綴(/service/publish)和應用路徑ID(a73a7179-20b8-40db-a4e5-15f10d75ff67)都支援自訂。詳情請參見:綁定API至應用

2)建立好的應用如下圖所示:

API API地址由FDL伺服器地址+/service/publish/應用ID(上圖中黃色部分)+2.3.1 節中的路徑(wendang),本文範例生成的 API 地址為:
http://localhost:8068/webroot/service/publish/a73a7179-20b8-40db-a4e5-15f10d75ff67/wendang
場景二:AppCode
1)進入建立的應用後,應用認證方式選擇「AppCode」;將 2.3 節建立的 API 綁定到該應用中,如下圖所示:

2)建立好的應用如下圖所示:

API API地址由FDL伺服器地址+/service/publish/應用ID(上圖中黃色部分)+2.3.1 節中的路徑(wendang),本文範例生成的 API 地址為:
http://localhost:8068/webroot/service/publish/a73a7179-20b8-40db-a4e5-15f10d75ff67/wendang
3. 呼叫者:呼叫已發布的 API
本文範例:在 FDL 中呼叫本文第二章發布的 API 。
3.1 準備工作
呼叫者需要獲得 API 的使用權限。詳情請參見:資料服務API管理權限 文檔。
3.2 FDL 中呼叫生成的 API
3.2.1 場景一:應用認證方式為無認證
1)點選「資料開發」,建立一個定時任務。
2)拖入「資料轉換」節點,進入「資料轉換」節點;拖入「API輸入」算子,輸入 API 相關資訊,呼叫API。如下圖所示:

點選「資料預覽」,如下圖所示:

傳回內容介紹:
| 名稱 | 描述 |
|---|---|
| output | 其他系統或工具呼叫生成的 API 後,取出的資料 |
| code | 流程運作結果的程式碼 |
| message | success,則傳回成功 失敗時具體原因會在 message 中體現 |
若在回應體處理中輸入output,可解析 output 欄位。如下圖所示:
使用者也可以再拖入「JSON解析」算子解析 output 欄位。

更多 API 呼叫範例,可參見:API采集数据专题
3.2.2 場景二:應用認證方式為 AppCode
與 3.2.1 節不同的是,呼叫 API 時,需要填寫 Authorization 。如下圖所示:

Authorization 值來源:

點選「資料預覽」,如下圖所示:

4. API 維運
更多詳情請參見:服務維運
使用者可在「維運中心>資料服務>服務管理」中,選擇指定的 API 資料夾或者 API 任務,即可查看到上線 API 數、下線 API 數。如下圖所示:

在「任務維運>資料服務>服務監視」中,選擇指定的任務或者資料夾,即可查看呼叫成功、呼叫失敗的 API 數量。如下圖所示:

