[發明專利]一種JSON API動態SQL生成方法和系統在審
| 申請號: | 202110509767.7 | 申請日: | 2021-05-11 |
| 公開(公告)號: | CN113312034A | 公開(公告)日: | 2021-08-27 |
| 發明(設計)人: | 汪明;陸永輝;王廣軍;張勇 | 申請(專利權)人: | 孔智科技(徐州)有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F16/242;G06F16/25 |
| 代理公司: | 南京經緯專利商標代理有限公司 32200 | 代理人: | 黃雪蘭 |
| 地址: | 221118 江蘇省徐州市*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 json api 動態 sql 生成 方法 系統 | ||
1.一種JSON API動態SQL生成方法和系統,其特征在于,具體包括以下步驟:
(1)前端JSON數據格式約定,后臺JSONAPI會根據JSON數據格式約定對JSON數據進行解析,JSON數據格式約定如下:
(2)前端JS庫封裝一個生成JSON數據的方法,在前端觸發數據持久化操作時,如新增、更新、查詢和刪除時,會自動按照JSON約定生成數據。并通過AJAX POST方式發送到后臺;
(3)后臺統一的API入口,首先對JSON數據進行解析,并驗證token是否合法,并關聯查詢出當前用戶ID、部門ID和角色ID等;
(4)鑒權如果不通過,則返回并給出提示信息。鑒權通過后,則解析api方法全路徑,如果為空,則說明沒有個性化邏輯處理,只是對數據進行常規操作;
(5)利用解析出的表名、字段類型,字段名和字段值,以及數據操作,結合當前數據庫類型,生成對應的SQL語句。
2.根據權利要求1所述的一種JSON API動態SQL生成方法和系統,其特征在于:所述(1)中的JSON數據包括模塊ID(moduleId)、數據操作(action),枚舉值為新增(C)、更新(U)、查(R)和刪除(D),門票(token)后臺邏輯處理的方法名(api),可以為空,則代表用通用JSONAPI進行處理。
3.根據權利要求1所述的一種JSON API動態SQL生成方法和系統,其特征在于:所述(1)中的業務數據(data)為數組,可以包含多條記錄,業務數據的JSON字段名組成為字段類型編碼_字段名描述,如i_age中的i代表int類型,i_age為字段名。
4.根據權利要求1所述的一種JSON API動態SQL生成方法和系統,其特征在于:所述(1)中的s_name的s代表string類型,s_name為字段名;d_addtime的d代表datetime類型,d_addtime為字段名;m_price的m代表money類型,m_price為字段名。
5.根據權利要求1所述的一種JSON API動態SQL生成方法和系統,其特征在于:所述(3)中的可以根據角色ID查詢出用戶的模塊權限和字段權限,比如是否有權限進行刪除操作等。
6.根據權利要求1所述的一種JSON API動態SQL生成方法和系統,其特征在于:所述(4)首先根據moduleId查詢出表名,并對data進行解析,遍歷出字段類型,字段名和字段值。
7.根據權利要求1所述的一種JSON API動態SQL生成方法和系統,其特征在于:所述(5)中的數據操作包括數據新增、數據更新、數據查詢和數據刪除操作。
8.根據權利要求1所述的一種JSON API動態SQL生成方法和系統,其特征在于:所述(5)中的SQL語句為了防止SQL注入,采用預編譯方式并檢測SQL高危特殊字符。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于孔智科技(徐州)有限公司,未經孔智科技(徐州)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110509767.7/1.html,轉載請聲明來源鉆瓜專利網。





