[發明專利]一種基于本體的RESTful API代碼自動生成方法有效
| 申請號: | 201810036950.8 | 申請日: | 2018-01-15 |
| 公開(公告)號: | CN108170426B | 公開(公告)日: | 2020-06-05 |
| 發明(設計)人: | 李勁松;周雪峰;田雨;周天舒;王昱 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F8/34 | 分類號: | G06F8/34;G06F8/35 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 劉靜;邱啟旺 |
| 地址: | 310058 浙江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 本體 restful api 代碼 自動 生成 方法 | ||
1.一種基于本體的RESTful API代碼自動生成方法,其特征在于,該方法包括以下步驟:
(1)利用本體模型描述數據庫底層的數據關系,具體步驟如下:
(1.1)通過語義轉換工具D2R自動將關系型數據庫的表數據結構轉換成為虛擬的RDF圖,其中將表轉換為本體建模元語中的概念(Concept)或類(Class),將字段轉換為類中的屬性;
(1.2)向本體模型中添加函數(Function)以描述表中的主鍵與非主鍵間的關系,函數(Function)的形式定義為F:C1×C2×…×Cn-1→Cn,在該關系中,第n個元素由前n-1個元素唯一確定;
(1.3)向本體模型中添加對象屬性,描述類與類之間的關系;
(2)通過前端技術將本體模型可視化,通過拖拽可視化模型組件描述Web/Mobile前端數據功能需求,將描述過程的參數傳遞給預先定義的RESTful API代碼模版中,最終形成對應需求的RESTful API代碼文件,具體步驟如下:
(2.1)將本體模型中的每個概念(Concept)或類(Class)通過前端技術可視化形成多個單獨的model組件;
(2.2)將HTTP動詞預先設置為Verb組件;
(2.3)預先定義RESTful API代碼模版,將RESTful API代碼模版設置為js組件,用于根據model組件和Verb組件傳遞的參數自動生成JavaScript代碼;
(2.4)設置content組件,用于將js組件生成的JavaScript代碼解析生成相應的字符文件。
2.根據權利要求1所述的一種基于本體的RESTful API代碼自動生成方法,其特征在于,所述步驟(1.3)中類與類之間的關系包括一對多以及多對多的關系。
3.根據權利要求1所述的一種基于本體的RESTful API代碼自動生成方法,其特征在于,所述步驟(1)中,將本體模型以XML文件格式形式導出。
4.根據權利要求1所述的一種基于本體的RESTful API代碼自動生成方法,其特征在于,所述步驟(2)中,本體模型的可視化可采用bootstrap、jsplumb生成圖形化界面。
5.根據權利要求1所述的一種基于本體的RESTful API代碼自動生成方法,其特征在于,所述步驟(2.3)中,組件之間參數傳輸以JSON格式進行。
6.根據權利要求1所述的一種基于本體的RESTful API代碼自動生成方法,其特征在于,每個model組件對應關系型數據庫中的一個表,描述了表內部的關系以及表與表之間的關系。
7.根據權利要求1所述的一種基于本體的RESTful API代碼自動生成方法,其特征在于,每個Verb組件對應HTTP協議中的一種API互動方式。
8.根據權利要求1所述的一種基于本體的RESTful API代碼自動生成方法,其特征在于,所述步驟(2)中,拖拽可視化模型組件描述Web/Mobile前端數據功能需求具體為:首先添加需求中涉及到的model組件和Verb組件,然后通過連線將組件進行連接。
9.根據權利要求1所述的一種基于本體的RESTful API代碼自動生成方法,其特征在于,所述步驟(2.3)中,根據model組件和Verb組件傳遞的參數自動生成JavaScript代碼,具體為:首先利用hibernate將model組件和Verb組件傳遞的參數自動生成sql查詢語句,然后將model組件和Verb組件傳遞的參數以及生成的sql查詢語句一起傳遞給RESTful API代碼模版。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810036950.8/1.html,轉載請聲明來源鉆瓜專利網。





