基于动态SQL配置生成API接口的方法与流程

文档序号:32103499发布日期:2022-11-09 03:52阅读:1249来源:国知局
基于动态SQL配置生成API接口的方法与流程
基于动态sql配置生成api接口的方法
技术领域
1.本发明涉及计算机技术领域,尤其涉及一种基于动态sql配置生成api接口的方法。


背景技术:

2.在软件系统开发过程中,api服务接口开发是最常见开发工作之一。前后端之间的数据交互、各微服务模块之间的数据传输,都需要依赖于api接口之间的通讯和数据交互;因此,api数据接口开发效率可以很大程度上影响了软件系统的开发交付效率。
3.在传统的业务系统开发中,一个api接口的完成往往需要经历一个冗长的软件开发过程,如需求的设计、评审、编码开发、测试、部署、发布等,特别是在后期的优化迭代阶段,不像前期大量需求的集中开发,它是一个程序迭代增加的过程;如果每个api接口需求都要等待冗长的开发过程,这将影响需求响应速度和开发成本效率的增加。


技术实现要素:

4.为了解决现有技术存在的缺陷和不足的问题,本发明提出一种基于动态sql配置生成api接口的方法。以解决通用场景下,依据sql语句快速生成api接口并方法,以打包低代码或零代码的开发要求,一定程度上提高系统开发效率。
5.基于提供的接口配置系统,提供可视化的接口配置功能;可用于针对不同场景下,自动根据已有的sql语句对外提供服务接口,开发或运维人员可通过可视化的界面的sql语句编写及相关参数的配置,直接生成对应的api服务接口,供前端系统调用或者对外提供数据服务。免去了给后端开发人员提接口开发需求、沟通业务逻辑、排期开发、代码编写、打包、部署、发布等一系列冗长等过程;同时可对于需求的变更可及时修改已有的sql逻辑和配置项,达到快速相应需求变更的要求,在一定程度上大大减少了系统的开发和维护成本。
6.为了达到上述目的,本发明具体采用如下技术方案:一种基于动态sql配置生成api接口的方法,其特征在于,基于带有可视化的接口配置功能的接口配置系统,包括以下步骤:步骤s1:通过可视化接口配置页面,编写包括:sql的查询语句、接口参数、配置接口地址、调用协议、调用方式、返回结果方式的信息,提交配置系统后台进行审核;步骤s2:审核完成后,接口配置系统通过已配置的信息解析sql语句、配置参数,基于jdk动态代理的方式,自动生成一个可执行程序类方法,并根据不同的协议要求,生成对应访问路径的api接口服务供前端或下游系统调用;步骤s3:接收调用方的调用请求,解析接口地址和调用参数,调用相关的业务方法;同时对调用参数进行合法性和安全性校验,以避免系统安全漏洞;步骤s4:根据配置信息和业务要求拼接对应的sql拼接和sql参数的拼装,并通过执行器执行对应的sql语句得出结果;步骤s5:按配置要求对sql执行接口结果对象进行包装处理,并返回给接口调用
方。
7.进一步地,在步骤s2中,生成可执行程序类方法具体为,对sql语句和配置信息进行解析,使用工程模式构造mapper的可执行方法。
8.进一步地,所述接口配置系统预设mapper模板并通过已编写的sql语句和配置信息,自动生成可执行的java类方法;利用java后台的jdk动态代理,将生成的类方法与接口控制器进行绑定。
9.进一步地,在步骤s3中,对写入参数的安全性校验具体为:针对sql语句可能出现的sql注入、数据敏感词的检查,并对拼接后的可执行sql语句进行二次校验;对于校验不通过的请求接口,自动进行错误返回并返回给调用方调用失败信息。
10.进一步地,在步骤s3中,生成的api接口提供rest、rpc支持多种协议调用,并支持get、post调用方式配置;生成的api接口支持动态的请求参数,基于参入的参数动态生成sql语句,将拼接后的sql传入数据库执行器进行执行并返回结果。
11.进一步地,在步骤s4和步骤s5中,基于模板方法模式,对接口返回信息的自动分类处理,包括对返回结果的分页、发片、缓存和静态数据切换。
12.以及,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的基于动态sql配置生成api接口的方法的工作方法的步骤。
13.以及, 一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上所述的基于动态sql配置生成api接口的方法的工作方法的步骤。
14.相比于现有技术,本发明及其优选方案的有益效果主要包括:1)基于sql自动生成数据接口,可大大减少开发工作中的编码工作量,提升功能迭代效率,减少重复简单的代码,让开发人员更专注于复杂业务逻辑的开发,节省人力成本;2)可同时面向开发人员、实施人员进行功能代码的维护,减低维护门槛。
附图说明
15.下面结合附图和具体实施方式对本发明进一步详细的说明:图1为本发明实施例方法流程步骤示意图。
具体实施方式
16.为让本专利的特征和优点能更明显易懂,下文特举实施例,并配合附图,作详细说明如下:如图1所示,本实施例提供的基于动态sql配置生成api接口的方法,提供接口配置系统,提供可视化的接口配置功能;按如下步骤实现:步骤s1:开发或运维人员通过可视化接口配置页面,编写sql的查询语句、接口参数、配置接口地址、调用协议、调用方式、返回结果方式等信息,提交配置系统后台进行审核;步骤s2:审核完成后,接口配置系统通过已配置的信息解析sql语句、配置参数,基于jdk动态代理的方式,自动生成一个可执行程序类方法,并根据不同的协议要求,生成对
应访问路径的api接口服务供前端或下游系统调用;步骤s3:接收调用方的调用请求,解析接口地址和调用参数,调用相关的业务方法;同时对调用参数进行合规性和安全性校验,避免系统安全漏洞;步骤s4:根据配置信息和业务要求拼接对应的sql拼接和sql参数的拼装,并通过执行器执行对应的sql语句得出结果;步骤s5:按配置要求对sql执行接口结果对象进行包装处理,并返回给接口调用方。
17.在本实施例的步骤s2中,生成的可执行程序类方法,对sql语句和配置信息进行解析,使用工程模式构造mapper的可执行方法。
18.在本实施例的步骤s3中,对写入参数的安全性校验,主要是需针对sql语句可能出现的sql注入、数据敏感词等的检查,并对拼接后的可执行sql语句进行二次校验;对于校验不通过的请求接口,将自动进行错误返回并返回给调用方调用失败信息。
19.在本实施例的步骤s4、s5中,基于模板方法模式,实现对接口返回信息的自动分类处理,包括对返回结果的分页、发片、缓存、静态数据切换等。
20.本实施例的设计点还包括:1、提供一种可视化的用户配置管理系统,开发人员、实时人员、研发管理员可通过接口要求,灵活编写sql语句和参数配置,进行统一的接口配置、审核、发布等工作;2、借鉴mybatis中mapper构造方式,预设好mapper模板并通过已编写的sql语句和配置信息,自动生成可执行的java类方法;利用java后台的jdk动态代理,将生成的类方法与接口控制器进行绑定;3、生成的api接口提供了rest、rpc支持多种协议调用,并支持get、post调用方式配置;4、返回数据结果以通用json数据结构,并可配置数据键的大小写映射;针对大数据量列表返回的接口,支持按分页、分片、截取、排序、等数据结果的处理返回;5、生成的api接口支持动态的请求参数,可基于参入的参数动态生成sql语句,将拼接后的sql传入数据库执行器进行执行并返回结果;6、对高频接口可进行数据缓存,配置缓存有效期,以提高接口的并发访问效率、减少数据库的压力;7、开发、实施人员可随时对接口配置进行更新、发布,支持数据接口的版本管理,支持多版本接口的并行使用。
21.本实施例提供的以上方案可以代码化的形式存储在计算机可读取存储介质中,并以计算机程序的方式进行实现,并通过计算机硬件输入计算所需的基本参数信息,并输出计算结果。
22.本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
23.本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程
图来描述的。应理解可由计算机程序指令实现流程图中的每一流程、以及流程图中的流程结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
24.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程图中指定的功能。
25.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程中指定的功能的步骤。
26.最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
27.本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的基于动态sql配置生成api接口的方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1