This invention discloses an automatic generation method of RESTful API code based on ontology, modeling the database by ontology semantic technology, describing the relationship of database structure with ontology language, and visualizing the model. The verb visualization components in the HTTP protocol are added in advance to add, drag and connect to the visualized database module components, and describe the functions that specific RESTful API wants to achieve. Compared with other code automatic generation methods, it is necessary to manually enter the specific structure of each table, and the ontology modeling method can describe the underlying database more accurately. The generated tree structure model is structured and the computer is readable, and it can deal with the complex needs of the multi table search in the front end. The underlying database visualization, the way to drag and connect components to describe the Web/Mobile front-end data function needs more clear and clear and not error prone, at the same time greatly reduce the workload of the backend developers, and even the front-end developers can also customize the interface according to their needs. One
【技术实现步骤摘要】
一种基于本体的RESTfulAPI代码自动生成方法
本专利技术计算机
,尤其涉及一种基于本体的RESTfulAPI代码自动生成方法。
技术介绍
RESTful架构是目前流行的互联网软件架构,它结构清晰、符合标准、易于理解、扩展方便,得到越来越多网站以及应用的采用。但是REST资源化的请求适合于面向简单的请求,对于具有复杂关联的请求,后端必须添加一个新的接口专门针对这种特殊请求进行响应。随着Web/Mobile端越来越复杂的数据需求,后端的RESTfulAPI开发人员需要针对需求进行繁琐的数据查询、数据组合以及文档编辑工作,极易出现错误。类似的API代码自动生成工具有很多,比如rails自带的scaffold功能,以及ActiveAdmin/RailsAdmin等,但是这些都是一套完整的系统,前后端不分离,修改系统页面困难而且只支持单表的CRUD操作。而Kaola在此之上对此做了改进,能够支持多表之间的关联操作而且前后端分离。但是Kaola也是基于rubyonrails开发的,对于Windows操作系统以及mysql数据库之外不能做到完全兼容。而且Kaola提供了数据库中所有表的CRUD接口,接口能力宽泛不能直接暴露在网络上必须部署在一个API网关后面,无法面对复杂的Web/Mobile端需求制定针对性高效的接口。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种基于本体的RESTfulAPI代码自动生成方法。本专利技术的目的是通过以下技术特征来实现的:一种基于本体的RESTfulAPI代码自动生成方法,该方法包括以下步骤:(1)利用本体模型 ...
【技术保护点】
1.一种基于本体的RESTful API代码自动生成方法,其特征在于,该方法包括以下步
【技术特征摘要】
1.一种基于本体的RESTfulAPI代码自动生成方法,其特征在于,该方法包括以下步骤:(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前端数据功能需求,将描述过程的参数传递给预先定义的RESTfulAPI代码模版中,最终形成对应需求的RESTfulAPI代码文件,具体步骤如下:(2.1)将本体模型中的每个概念(Concept)或类(Class)通过前端技术可视化形成多个单独的model组件;(2.2)将HTTP动词预先设置为Verb组件;(2.3)预先定义RESTfulAPI代码模板,将RESTfulAPI代码模板设置为js组件,用于根据model组件和Verb组件传递的参数自动生成JavaScript代码;(2.4)设置content组件,用于将js组件生成的JavaScript代码解析生成相应的字符文件。2.根据权利要求1所述的一种基于本体的RESTfulAPI代码自动生成方法,其特征在于,所述步骤(1.3)中类与类之间的关系包括一对多以及多对多的关系。3.根据权利要求1所...
【专利技术属性】
技术研发人员:李劲松,周雪峰,田雨,周天舒,王昱,
申请(专利权)人:浙江大学,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。