1. 概述
1.1 版本
報表服務器版本 | JAR 包版本 | 插件版本 |
---|---|---|
10.0 | 2018-07-31 | V1.0 |
1.2 應用場景
FR系統提供了強大的數據支持功能,支持多種數據庫和類型,并提供了異構數據源模型,使得同一張報表的數據可以來源於同一數據庫的多個不同表,或多個不同數據庫。
數據JSON服務API功能插件是将報表數據集、報表結果輸出爲JSON格式内容,并作爲WEB接口服務開放,提供給報表系統前端或者其他系統使用。
1.3 功能介紹
插件功能提供JSON數據接口服務功能。
主要功能:
報表模板數據集輸出JSON服務API功能,提供調用接口。
報表結果輸出JSON服務API功能,提供調用接口。
工具欄按鈕實現報表内容導出JSON文件下載功能。
2. 插件介紹
2.1 插件安裝
點擊下載插件:數據JSON服務API插件
設計器插件安裝方法參照 設計器插件管理
服務器安裝插件方法參照 服務器插件管理
2.2 操作方法
安裝插件完成後,即可使用JSON接口服務功能。
2.2.1 數據集JSON服務API
URL地址 | http://ip:port/webroot/desicion/url/api/data |
METHOD | POST |
Content-Type | application/json |
RAW | { "report_path": "Parameter_3.cpt", "datasource_name": "ds2", "page_number": 1, "page_size": 100, "timestamp": "123456789", "sign": "468705dc60eff5f67438f9b94ed15245", "parameters": [{ "name": "地區", "type": "String", "value": "華北" }, { "name": "産品類型", "type": "String", "value": "飲料" } ] } |
Response響應 | { err_code : 0, err_msg : "", total_page_number : 10, page_number : 1, page_size : 10, data : [{key1:v11,key2:v12,...},...] } |
參數說明:
l report_path:報表模板路徑名稱(必須項),例如 doc/Parameter_3.cpt。
l datasource_name:數據集名稱(必須項);
l page_number:頁碼(必須項);
l page_size:每頁行數(必須項);
l parameters:數據集參數(可選);參數名對應數據集中參數名;
l timestamp:當前時間的毫秒數(用於簽名認證,可選);
l sign:安全簽名(用於簽名認證,可選);
響應說明:
l err_code:0爲正常,其他參見錯誤碼表;
l err_msg:錯誤信息;
l total_page_number:總頁數;
l page_number:當前頁碼;
l page_size:每頁行數(必須項);
l data:獲取到的JSON數據;數據key爲數據集列名。
數據集JSON示例:
訪問報表Parameter_3.cpt的數據集内容。
獲取data結果:
2.2.2 報表結果JSON服務API
URL地址 | http://ip:port/webroot/desicion/url/api/report |
METHOD | POST |
Content-Type | application/json |
RAW | { "report_path": "Parameter_3.cpt", "start_page": 1, "end_page": 1, "timestamp": "123456789", "sign": "468705dc60eff5f67438f9b94ed15245", "parameters": [{ "name": "地區", "type": "String", "value": "華北" }, { "name": "産品類型", "type": "String", "value": "飲料" } ] } |
Response響應 | { "err_code": 0, "err_msg": "", "start_page": 1, "end_page": 1, "total_page_number": 1, "data": [ [{ "A1": "華北銷售額","A2": "地區" }] ] } |
參數說明:
l report_path:報表模板路徑名稱(必須項),例如 doc/Parameter_3.cpt。
l start_page:報表内容起始頁碼(必須項);
l end_page:報表内容結束頁碼(必須項);
l parameters:報表面板參數(可選);參數名對應模板參數空間名稱;
l timestamp:當前時間的毫秒數(用於簽名認證,可選);
l sign:安全簽名(用於簽名認證,可選);
響應說明:
l err_code:0爲正常,其他參見錯誤碼表;
l err_msg:錯誤信息;
l total_page_number:總頁數;
l start_page:報表内容起始頁碼;
l end_page:報表内容結束頁碼;
l data:獲取到的JSON數據;數據key爲行列碼标識。
報表結果JSON示例:
訪問報表Parameter_3.cpt的數據集内容。
參數JSON轉換規則
參數類型 | 類型值 | 示例 |
字符串 | String | {"name":"aa","type":"String","value":""} |
整型 | Integer | {"name":"aa","type":"Integer","value":""} |
雙精度型 | Double | {"name":"aa","type":"Double","value":""} |
日期 | Date | {"name":"aa","type":"Date","value":""} |
布爾型 | Boolean | {"name":"aa","type":"Boolean","value":""} |
公式 | Formula | {"name":"aa","type":"Formula","value":""} |
安全簽名配置
報表平台管理頁面(數據決策系統)-》管理系統-》系統管理-》點擊‘常規’選項卡,配置‘JSON服務接口插件’的秘鑰内容。如圖
安全簽名的計算規則爲 MD5(秘鑰code+report_path+timestamp),默認秘鑰爲空,不驗證。
如配置了秘鑰,系統會依規則計算MD5值與sign比較,相同即符合。
錯誤碼表
err_code | err_msg |
0 | 正常 |
10 | report_path參數值不正确 |
11 | datasource_name參數值不正确 |
12 | page_number參數值不正确 |
13 | page_size參數值不正确 |
14 | 報表模板文件不存在 |
15 | 安全簽名不正确 |
16 | start_page參數值不正确 |
17 | end_page參數值不正确 |
20 | 報表數據集爲空 |
2.2.3 報表内容導出JSON文件
在設計器打開對應報表文件,點擊菜單“模板”->“模板web屬性”->“分頁預覽屬性”,會看到插件對應 JSON導出。先選擇爲“爲該模板單獨設置”項,再選擇對應組件添加即可。
如圖:
預覽報表時,工具欄會顯示導出按鈕,點擊即可執行。
以上。