[发明专利]一种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 生成 方法 系统 | ||
本发明公开了一种JSON API动态SQL生成方法和系统,包括以下步骤:(1)前端JSON数据格式约定,后台JSONAPI会根据JSON数据格式约定对JSON数据进行解析,(2)前端JS库封装一个生成JSON数据的方法,在前端触发数据持久化操作时,如新增、更新、查询和删除时,会自动按照JSON约定生成数据。并通过AJAX POST方式发送到后台,(3)后台统一的API入口,首先对JSON数据进行解析,并验证token是否合法,并关联查询出当前用户ID、部门ID和角色ID等,(4)鉴权如果不通过,则返回并给出提示信息。鉴权通过后,则解析api方法全路径,如果为空,则说明没有个性化逻辑处理,只是对数据进行常规操作。
技术领域
本发明涉及软件开发技术领域,特别是涉及一种JSON API动态SQL生成方法和系统。
背景技术
随着互联网技术的发展,JSON已经逐步取代XML作为一种高效的数据交换格式。当前很多Web应用程序前端会获取到HTML表单的数据,并封装成JSON格式,通过AJAX方式与后台API进行交互,并完成一系列数据逻辑处理,并持久化到数据库中。
目前一个软件系统中通常都会涉及多个业务模块,不同的业务模块一般来说,数据会存储到不同的数据库表中,除了一些个性化的业务逻辑预处理外,在数据的增、删、改和查这几个SQL操作来说,模式是一致的,但就是表名和字段名不同,数据不同而已,但是传统的软件开发模式来说,存在如下缺点:
(1)数据的增、删、改和查,代码部分存在大量的重复劳动,不同的模块都要编写一个新的后台API进行处理,开发效率低。
(2)如果某个模块需求变化,增加、减少或者变更一些业务字段,需要修改对应的后台API中的SQL部分。
(3)涉及兼容多个不同类型的数据库时,如兼容MySQL和PostGreSQL,如果不借助ORM工具,则需要分别维护多种数据库类型的SQL分支代码。
发明内容
为了克服现有技术的不足,本发明提供一种JSON API动态SQL生成方法和系统,以实现任意模块的前端业务数据,后台统一用一个通用的JSON API进行处理,大幅减少后台SQL代码编写量,提高软件开发效率,降低软件开发成本,同时,由于后台JSON API可以根据JSON数据和配置项(如当前数据库类型、字段权限和字段检验条件等),动态生成SQL,并可在执行SQL前,进行字段权限检验和数据合法性检验。
为解决上述技术问题,本发明提供如下技术方案:一种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语句。
作为本发明的一种优选技术方案,所述(1)中的JSON数据包括模块ID(moduleId)、数据操作(action),枚举值为新增(C)、更新(U)、查(R)和删除(D),门票(token)后台逻辑处理的方法名(api),可以为空,则代表用通用JSONAPI进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于孔智科技(徐州)有限公司,未经孔智科技(徐州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110509767.7/2.html,转载请声明来源钻瓜专利网。