[发明专利]一种基于本体的RESTful API代码自动生成方法有效
申请号: | 201810036950.8 | 申请日: | 2018-01-15 |
公开(公告)号: | CN108170426B | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 李劲松;周雪峰;田雨;周天舒;王昱 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F8/34 | 分类号: | G06F8/34;G06F8/35 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 刘静;邱启旺 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 本体 restful api 代码 自动 生成 方法 | ||
本发明公开了一种基于本体的RESTful API代码自动生成方法,借助本体语义技术通过对数据库进行本体建模,用本体语言描述数据库结构关系,并将模型可视化。预先添加HTTP协议中的动词可视化组件,对可视化后的数据库模块组件进行添加、拖拽、连接等操作描述特定RESTful API想要实现的功能。相比其他代码自动生成方法需要手动录入每个表具体结构,采用本体建模方式能更准确地描述数据库底层的关系,生成的树状结构模型结构化、计算机可读,能够很好的应对前端多表联查的复杂需求。底层数据库可视化,以拖拽、连接组件的方式描述Web/Mobile前端数据功能需求更加的清晰明确不易出错,同时大大减少了后端开发人员的工作量,甚至前端开发人员也可以根据自己的需求自定义接口。
技术领域
本发明计算机技术领域,尤其涉及一种基于本体的RESTful API代码自动生成方法。
背景技术
RESTful架构是目前流行的互联网软件架构,它结构清晰、符合标准、易于理解、扩展方便,得到越来越多网站以及应用的采用。但是REST资源化的请求适合于面向简单的请求,对于具有复杂关联的请求,后端必须添加一个新的接口专门针对这种特殊请求进行响应。随着Web/Mobile端越来越复杂的数据需求,后端的RESTful API开发人员需要针对需求进行繁琐的数据查询、数据组合以及文档编辑工作,极易出现错误。
类似的API代码自动生成工具有很多,比如rails自带的scaffold功能,以及Active Admin/Rails Admin等,但是这些都是一套完整的系统,前后端不分离,修改系统页面困难而且只支持单表的CRUD操作。而Kaola在此之上对此做了改进,能够支持多表之间的关联操作而且前后端分离。但是Kaola也是基于ruby on rails开发的,对于Windows操作系统以及mysql数据库之外不能做到完全兼容。而且Kaola提供了数据库中所有表的CRUD接口,接口能力宽泛不能直接暴露在网络上必须部署在一个API网关后面,无法面对复杂的Web/Mobile端需求制定针对性高效的接口。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于本体的RESTful API代码自动生成方法。
本发明的目的是通过以下技术特征来实现的:一种基于本体的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动词如GET、POST等预先设置为Verb组件;
(2.3)预先定义RESTful API代码模版,将RESTful API代码模版设置为js组件,用于根据model组件和Verb组件传递的参数自动生成JavaScript代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810036950.8/2.html,转载请声明来源钻瓜专利网。