數據型IsoBean
# FastWeb 數據型IsoBean
本章節中,我們將學習如何製作一個數據型的IsoBean模組。數據型的IsoBean模組不需要Bean模組的配合,在參數中指定要連線的節點資料庫名稱與查詢語句,就可執行結果並將查詢到的結果回傳。
數據型IsoBean模組的設計順序如下:
- 配置節點資料庫
- 設計IsoBean模組
- 發佈IsoBean模組
# 1. 配置節點資料庫
配置節點資料庫的方式請參考 Node節點資料庫。如要使用的節點資料庫已建立,則可跳過此步驟。本示例中使用的FastWeb資料庫已內建于示例庫中,故此步驟省略。
# 2. 設計IsoBean模組
點選 [云服務工具]
- [IsoBean模組管理]
,打開IsoBean模組管理界面,點選 [新增]
按鈕,按照以下提示建立一個IsoBean模組。其他資訊中請注意要將 是否啟用?
選項進行勾選。填寫完成後,點選 [儲存]
按鈕。
建立完成後,選擇建立的IsoBean,點選 [API設計]
,建立的API請按照以下方式進行設定。
function RestAPI()
{
//定義變數
var D,Q,V,db,sql,params;
//獲取參數
//節點資料庫與sql
db = APIParams.Values["db_name"];
sql = IIF(URLParams.Values["sql"]=="",APIParams.Values["sql"],URLParams.Values["sql"]);
//獲取節點資料庫
Try
D = GetNodeDataLink(db);
Except{
//報錯時組裝JSON錯誤資訊
var DE = new TJSONObject();
DE.AddPair("status","error");
DE.AddPair("message","NodeData "+db+" not found.");
return(DE.ToString);
}
//建立數據集
Q = new TFDQuery(nil);
Try{
Try{
Q.Connection = D;
Q.SQL.Text = sql;
//打開數據集
Q.Open;
//獲取數據集陣列
V = TFDQuery(Q).ToJSONArray;
}
Except{
//報錯時組裝JSON錯誤資訊
var E = new TJSONObject();
E.AddPair("status","error");
E.AddPair("message",ExceptionMessage);
return(E.ToString);
}
//返回結果
var O = new TJSONObject();
O.AddPair("status","ok");
O.AddPair("messaeg","success");
O.AddPair("records",TJSONNumber.Create(Q.RecordCount));
O.AddPair("data",V);
return(O.ToString);
}
Finally{
D.Free;
Q.Free;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
API設計完成後,首先點選 [儲存]
圖示按鈕儲存,然後點選 [測試]
按鈕打開介面測試界面。
在介面測試的界面中,新建兩個參數,名稱分別為 db_name
與 sql
,設定的參數值見圖中的說明。設定完成後,點選關閉按鈕關閉界面。
# 3. 發佈IsoBean模組
儲存后,返回列表界面,選擇剛才建立的IsoBean模組,點選 [IsoBean發佈]
,打開 IsoBean 發佈的界面。
選擇要發佈的使用者(admin),點選 [IsoBean 選擇...]
,從打開的IsoBean列表中選擇IsoBean模組,雙擊匯入至發佈列表中,點選 [儲存]
按鈕,然後點選 [確定]
按鈕關閉發佈界面。
重新返回API設計界面,點選 [測試]
圖示按鈕,打開界面。點選 [Send]
按鈕檢視運行的結果。如果返回的結果中包含表的數據資訊,則IsoBean建立成功
按照本節開頭的方式將IsoBean發佈給其他使用者,之後,可使用 http://localhost:8888/?isobean=IB_nb-dat-0001_ItemList&userkey={user_guid}&sql={sql} (opens new window) 來進行查詢。{user_guid}
為發佈使用者的ID,請注意,{sql}
中的內容需經過 URL編碼 (opens new window) 后才可作為參數值使用。