CN115982257A - 接口创建方法以及相关设备 - Google Patents
接口创建方法以及相关设备 Download PDFInfo
- Publication number
- CN115982257A CN115982257A CN202211601649.XA CN202211601649A CN115982257A CN 115982257 A CN115982257 A CN 115982257A CN 202211601649 A CN202211601649 A CN 202211601649A CN 115982257 A CN115982257 A CN 115982257A
- Authority
- CN
- China
- Prior art keywords
- interface
- query statement
- sql query
- configuration parameters
- mybatis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种接口创建方法以及相关设备,可以配置待创建的API接口的数据源信息;获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;将所述接口配置参数注入目标容器中;建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;在所述目标容器中注册所述映射关系,以创建API接口。本申请可以提高API接口的开发效率,减少了大量的编码工作,且有利于降低API接口的后期运维成本。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种接口创建方法以及相关设备。
背景技术
企业在数字化转型过程中面临诸多难题,如IT(Information Technology,信息技术)工程系统存在着大量彼此间交互数据的场景,API接口是其中一种通讯手段。
在目前的相关技术中,业内一般通过JAVA框架进行API接口开发,开发人员需花费时间编写重复性较高且价值较低的代码。具体地,开发API接口的时候经常需要定义XML、VO、Controller、Service、Dao、Mapper等Java对象,即使只是对数据进行最简单的查询并展示,这样使得API接口的开发效率较低。而且,不同的开发人员具备的水平不一,编写代码质量有高有低,风格不一,导致后期运维成本随着接口数量的增加而增长。
发明内容
本申请实施例提供一种接口创建方法以及相关设备,相关设备可以包括接口创建装置、电子设备、计算机可读存储介质和计算机程序产品,可以提高API接口的开发效率,减少了大量的编码工作,且有利于降低API接口的后期运维成本。
本申请实施例提供一种接口创建方法,包括:
配置待创建的API接口的数据源信息;
获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;
根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;
将所述接口配置参数注入目标容器中;
建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;
在所述目标容器中注册所述映射关系,以创建API接口。
相应的,本申请实施例提供一种接口创建装置,包括:
配置单元,用于配置待创建的API接口的数据源信息;
解析单元,用于获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;
生成单元,用于根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;
注入单元,用于将所述接口配置参数注入目标容器中;
建立单元,用于建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;
创建单元,用于在所述目标容器中注册所述映射关系,以创建API接口。
本申请实施例提供的一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令,以执行本申请实施例提供的接口创建方法中的步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本申请实施例提供的接口创建方法中的步骤。
此外,本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现本申请实施例提供的接口创建方法中的步骤。
本申请实施例提供了一种接口创建方法以及相关设备,可以配置待创建的API接口的数据源信息;获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;将所述接口配置参数注入目标容器中;建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;在所述目标容器中注册所述映射关系,以创建API接口。本申请可以提高API接口的开发效率,减少了大量的编码工作,且有利于降低API接口的后期运维成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的接口创建方法的场景示意图;
图1b是本申请实施例提供的接口创建方法的流程图;
图2是本申请实施例提供的接口创建方法的另一流程图;
图3是本申请实施例提供的接口创建装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种接口创建方法以及相关设备,相关设备可以包括接口创建装置、电子设备、计算机可读存储介质和计算机程序产品。该接口创建装置具体可以集成在电子设备中,该电子设备可以是终端或服务器等设备。
可以理解的是,本实施例的接口创建方法可以是在终端上执行的,也可以是在服务器上执行,还可以由终端和服务器共同执行的。以上举例不应理解为对本申请的限制。
如图1a所示,以终端和服务器共同执行接口创建方法为例。本申请实施例提供的接口创建系统包括终端10和服务器11等;终端10与服务器11之间通过网络连接,比如,通过有线或无线网络连接等,其中,接口创建装置可以集成在服务器中。
其中,服务器11,可以用于:配置待创建的API接口的数据源信息;获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;将所述接口配置参数注入目标容器中;建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;在所述目标容器中注册所述映射关系,以创建API接口。其中,服务器11可以是单台服务器,也可以是由多个服务器组成的服务器集群或云服务器。本申请所公开的接口创建方法或装置,其中多个服务器可组成为一区块链,而服务器为区块链上的节点。
其中,终端10,可以用于:向服务器11发送接口创建请求,以触发服务器11基于接口创建请求,创建API接口。其中,终端10可以包括手机、智能电视、平板电脑、笔记本电脑、或个人计算机(PC,Personal Computer)等。终端10上还可以设置客户端,该客户端可以是应用程序客户端或浏览器客户端等等。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从接口创建装置的角度进行描述,该接口创建装置具体可以集成在电子设备中,该电子设备可以是服务器或终端等设备。
如图1b所示,该接口创建方法的具体流程可以如下:
101、配置待创建的API接口的数据源信息。
其中,API接口也即应用程序编程接口(ApplicationProgramming Interface,API),API是软件系统不同组成部分衔接的约定,主要提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
可选地,数据源信息可以包括数据源ID(Identity document,标识信息)、URL(uniform resource locator,统一资源定位系统)地址、用户名和密码等,本实施例对此不作限制。
具体地,本实施例中,开发或运维人员可以通过可视化接口配置页面,来配置待创建的API接口的数据源信息。
在一具体实施例中,配置数据源信息:针对不同的数据库,可以提供不同的连接,提前配置驱动和用户名密码(国密加密)。
在软件系统开发过程中,API服务接口开发是最常见开发工作之一。前后端之间的数据交互、各微服务模块之间的数据传输,都需要依赖于API接口之间的通讯和数据交互;因此,API数据接口开发效率很大程度上影响了软件系统的开发交付效率。
本实施例提供的接口创建方法全程无需编写Java代码,只需少量的Script和SQL脚本编写和接口配置,即可实现API接口开发即发布的目的。
其中,Java是一门面向对象的编程语言。脚本(Script)是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。SQL(Structured Query Language,结构化查询语言),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
102、获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数。
其中,接口创建请求具体是用于创建API接口的请求,其包含了关于待创建的API接口的多个配置参数,如表单参数、路径参数等,本实施例对此不作限制。
具体地,可以自动解析获取请求参数(也即接口配置参数),其包括GET请求的URL参数,POST请求的表单参数/Body参数,HTTP Header参数,Path参数以及Cookie,Session参数等。平台接收到接口创建请求后,可以自动将解析到的请求参数封装到对应的变量中待使用。
其中,GET请求可以用于信息获取,它是从指定的资源请求数据;URL参数也即表示地址信息的参数。
其中,POST请求是向指定的资源提交要被处理的数据。Body参数可以将单类型的参数成为Request Body的一部分,即从查询参数变成请求体参数。
其中,HTTP header(HTTP首部,HTTP头)表示在HTTP请求或响应中的用来传递附加信息的字段,修改所传递的消息(或者消息主体)的语义,或者使其更加精确。Path参数也即路径参数;Cookie指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能;Session参数是一个存储于服务器的特殊对象,
103、根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象。
其中,MyBatis框架是一款持久层框架,支持自定义SQL、存储过程以及高级映射,它可以通过xml文件或注解来配置和映射原始类型。
其中,SQL查询语句是结构化查询语言,是标准的计算机语言,用于存取数据以及查询、更新管理关系数据库系统。
可选地,本实施例中,步骤“根据所述接口配置参数定义MyBatis语法的SQL查询语句”,可以包括:
获取所述待创建的API接口对应的初始SQL查询语句;
基于MyBatis语法,将所述接口配置参数与所述初始SQL查询语句进行融合,得到SQL查询语句。
其中,初始SQL查询语句可以是待创建的API接口在数据库中对应的静态SQL语句;SQL查询语句可以是在SQL中执行动态构建的SQL语句。
其中,接口配置参数与初始SQL查询语句的融合方式有多种,本实施例对此不作限制。比如,该融合方式可以是拼接处理,也可以是参数注入等。
本实施例中,可以通过接口配置参数对初始SQL查询语句进行标签替换,得到SQL查询语句。
可选地,本实施例中,步骤“获取所述待创建的API接口对应的初始SQL查询语句”,可以包括:
基于预设验证条件,对所述接口创建请求进行验证,所述预设验证条件用于验证所述接口创建请求的合法性;
当所述接口创建请求通过验证时,获取所述待创建的API接口对应的初始SQL查询语句。
可选地,本实施例中,步骤“基于MyBatis语法,将所述接口配置参数与所述初始SQL查询语句进行融合,得到SQL查询语句”,可以包括:
基于MyBatis语法,确定所述接口配置参数在所述初始SQL查询语句中的注入位置;
根据所述注入位置,将所述接口配置参数注入到所述初始SQL查询语句中,得到SQL查询语句。
在具体场景中,基于Mybatis语法,可以通过#{}注入参数;也可以通过${}拼接参数;还可以通过?{condition,expression}的条件表达式来实现动态拼接SQL,如果条件成立则拼接后部分内容SQL中,与mybatis中的if标签基本一致。本实施例中,可以将接口业务逻辑转化成对SQL的编写,并将前面获取到的参数动态或注入,或拼接到SQL中。
此外,本实施例中,还可以提供标准返回码和标准Json格式数据,可以理解的是,如果需要其他格式可以重写ResultSchema类并配置。
可选地,本实施例中的接口配置参数可以包括其他配置,如包括该API请求路径、数据源、权限、分页参数、返回格式等,这些都可保存在YAML配置项中。
其中,YAML是一个可读性高,用来表达数据序列化的格式。
104、将所述接口配置参数注入目标容器中。
其中,目标容器具体可以是Spring容器,Spring是Java EE编程领域的一个轻量级开源框架。
105、建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系。
其中,具体地,可以将MyBatis查询对象、所述数据源信息和所述接口配置参数三者进行绑定。
106、在所述目标容器中注册所述映射关系,以创建API接口。
其中,上述实施例中的资源、数据源、拦截器都可以通过SpringBoot框架自动配置的功能实现,服务启动后,以上配置会自动注入容器,并注册以上映射关系,同时缓存到内存中,以创建API接口。
可选地,本实施例中,该接口创建方法还可以包括:
当接收到接口调用方对所述API接口的调用请求时,根据所述API接口的接口路径信息,调用关联的业务处理方法;
基于所述业务处理方法,对所述调用请求中的调用参数进行合法性和安全性校验;
当所述调用参数通过校验时,执行所述SQL查询语句对应的脚本文件,得到接口执行结果对象;
对所述接口执行结果对象进行格式包装处理,并返回包装后的接口执行结果对象给所述接口调用方。
其中,具体地,在接口后续的调用中,可以在DispatcherServlet中通过url(即接口路径信息)去寻找统一处理Handler以及处理方法invoke(也即上述实施例中的业务处理方法),根据提前配置的具体接口请求路径找到对应的处理方法,实现对参数的封装验证,并执行脚本,最后对返回结果按指定格式包装并返回给接口调用方。
其中,DispatcherServlet是前置控制器,配置在web.xml文件中的。它可以用于拦截匹配的请求,Servlet拦截匹配规则要自己定义,把拦截下来的请求,依据相应的规则分发到目标Controller来处理。
其中,Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息进行处理,也就是发送消息和接收消息不是同步的处理。
其中,invoke(调用)为调用Method类代表的方法,可以实现动态调用。
具体地,不同接口调用方可以有不同的数据格式以及协议,本实施例中,可以根据接口调用方的业务需求,确定对接口执行结果对象进行格式包装处理的目标格式,并基于该目标格式,对接口执行结果对象进行格式包装处理,并返回包装后的接口执行结果对象给接口调用方。
具体场景中,调用API接口的过程可以包括:接收API接口调用请求,从调用请求中获取接口ID和查询参数,通过接口ID从目标容器中获取MyBatis查询对象和数据源信息,通过所述数据源信息连接数据源执行SQL数据查询,得到查询结果并返回给用户。
可选地,本实施例中,步骤“当所述调用参数通过校验时,执行所述SQL查询语句对应的脚本文件,得到接口执行结果对象”,可以包括:
当所述调用参数通过校验时,从所述目标容器中获取数据源信息;
通过所述数据源信息连接数据源,执行所述SQL查询语句对应的脚本文件,得到接口执行结果对象。
具体地,基于该接口创建方法,本申请可以提供一个API接口发布平台,开发人员通过登陆本平台提供的用户界面UI进行配置,包括对数据源的配置、接口配置,来实现接口动态发布,是一个低代码开发平台。
其中,接口配置可以包括接口访问路径的配置、业务逻辑SQL编写、以及接口权限配置等。
具体地,在云原生架构下,基于OpenAPI、Swagger标准规范,本实施例提供的该API接口发布平台实现了服务生成、服务发布、服务测试、服务编排、服务调用等功能,是一个一站式在线服务(API)开发管理平台,帮助业务实现降本增效。尤其适用于以下业务场景:
1、当数据库表数据已存在,需要快速把数据变成服务,供报表、大屏等数据可视化方式使用;
2、移动APP(应用程序)或小程序开发,前端程序员快速开发后端接口进行接口联调;
3、数据中台架构中,企业数据资产对外快速发布http服务及统一管理。
由上可知,本实施例可以配置待创建的API接口的数据源信息;获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;将所述接口配置参数注入目标容器中;建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;在所述目标容器中注册所述映射关系,以创建API接口。本申请可以提高API接口的开发效率,减少了大量的编码工作,且有利于降低API接口的后期运维成本。
根据前面实施例所描述的方法,以下将以该接口创建装置具体集成在服务器举例作进一步详细说明。
本申请实施例提供一种接口创建方法,如图2所示,该接口创建方法的具体流程可以如下:
201、服务器配置待创建的API接口的数据源信息。
可选地,数据源信息可以包括数据源ID(Identity document,标识信息)、URL(uniform resource locator,统一资源定位系统)地址、用户名和密码等,本实施例对此不作限制。
在一具体实施例中,配置数据源信息:针对不同的数据库,可以提供不同的连接,提前配置驱动和用户名密码(国密加密)。
202、服务器获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数。
203、服务器根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象。
可选地,本实施例中,步骤“根据所述接口配置参数定义MyBatis语法的SQL查询语句”,可以包括:
获取所述待创建的API接口对应的初始SQL查询语句;
基于MyBatis语法,将所述接口配置参数与所述初始SQL查询语句进行融合,得到SQL查询语句。
其中,初始SQL查询语句可以是待创建的API接口在数据库中对应的静态SQL语句;SQL查询语句可以是在SQL中执行动态构建的SQL语句。
其中,接口配置参数与初始SQL查询语句的融合方式有多种,本实施例对此不作限制。比如,该融合方式可以是拼接处理,也可以是参数注入等。
本实施例中,可以通过接口配置参数对初始SQL查询语句进行标签替换,得到SQL查询语句。
204、服务器将所述接口配置参数注入目标容器中。
205、服务器建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系。
206、服务器在所述目标容器中注册所述映射关系,以创建API接口。
207、当接收到接口调用方对所述API接口的调用请求时,服务器根据所述API接口的接口路径信息,调用关联的业务处理方法。
208、服务器基于所述业务处理方法,对所述调用请求中的调用参数进行合法性和安全性校验。
209、当所述调用参数通过校验时,服务器执行所述SQL查询语句对应的脚本文件,得到接口执行结果对象;对所述接口执行结果对象进行格式包装处理,并返回包装后的接口执行结果对象给所述接口调用方。
具体地,不同接口调用方可以有不同的数据格式以及协议,本实施例中,可以根据接口调用方的业务需求,确定对接口执行结果对象进行格式包装处理的目标格式,并基于该目标格式,对接口执行结果对象进行格式包装处理,并返回包装后的接口执行结果对象给接口调用方。
具体场景中,调用API接口的过程可以包括:接收API接口调用请求,从调用请求中获取接口ID和查询参数,通过接口ID从目标容器中获取MyBatis查询对象和数据源信息,通过所述数据源信息连接数据源执行SQL数据查询,得到查询结果并返回给用户。
本实施例提供的接口创建方法全程无需编写Java代码,只需少量的Script和SQL脚本编写和接口配置,即可实现API接口开发即发布的目的。
由上可知,本实施例可以通过服务器配置待创建的API接口的数据源信息;获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;将所述接口配置参数注入目标容器中;建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;在所述目标容器中注册所述映射关系,以创建API接口。当接收到接口调用方对所述API接口的调用请求时,根据所述API接口的接口路径信息,调用关联的业务处理方法;基于所述业务处理方法,对所述调用请求中的调用参数进行合法性和安全性校验;当所述调用参数通过校验时,执行所述SQL查询语句对应的脚本文件,得到接口执行结果对象;对所述接口执行结果对象进行格式包装处理,并返回包装后的接口执行结果对象给所述接口调用方。本申请可以提高API接口的开发效率,减少了大量的编码工作,且有利于降低API接口的后期运维成本。
为了更好地实施以上方法,本申请实施例还提供一种接口创建装置,如图3所示,该接口创建装置可以包括配置单元301、解析单元302、生成单元303、注入单元304、建立单元305以及创建单元306,如下:
(1)配置单元301;
配置单元,用于配置待创建的API接口的数据源信息。
(2)解析单元302;
解析单元,用于获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数。
(3)生成单元303;
生成单元,用于根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象。
可选的,在本申请的一些实施例中,所述生成单元可以包括语句获取子单元和融合子单元,如下:
所述语句获取子单元,用于获取所述待创建的API接口对应的初始SQL查询语句;
融合子单元,用于基于MyBatis语法,将所述接口配置参数与所述初始SQL查询语句进行融合,得到SQL查询语句。
可选的,在本申请的一些实施例中,所述语句获取子单元具体可以用于基于预设验证条件,对所述接口创建请求进行验证,所述预设验证条件用于验证所述接口创建请求的合法性;当所述接口创建请求通过验证时,获取所述待创建的API接口对应的初始SQL查询语句。
可选的,在本申请的一些实施例中,所述融合子单元具体可以用于基于MyBatis语法,确定所述接口配置参数在所述初始SQL查询语句中的注入位置;根据所述注入位置,将所述接口配置参数注入到所述初始SQL查询语句中,得到SQL查询语句。
(4)注入单元304;
注入单元,用于将所述接口配置参数注入目标容器中。
(5)建立单元305;
建立单元,用于建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系。
(6)创建单元306;
创建单元,用于在所述目标容器中注册所述映射关系,以创建API接口。
可选的,在本申请的一些实施例中,所述接口创建装置还可以包括调用单元、校验单元、执行单元和包装单元,如下:
所述调用单元,用于当接收到接口调用方对所述API接口的调用请求时,根据所述API接口的接口路径信息,调用关联的业务处理方法;
校验单元,用于基于所述业务处理方法,对所述调用请求中的调用参数进行合法性和安全性校验;
执行单元,用于当所述调用参数通过校验时,执行所述SQL查询语句对应的脚本文件,得到接口执行结果对象;
包装单元,用于对所述接口执行结果对象进行格式包装处理,并返回包装后的接口执行结果对象给所述接口调用方。
可选的,在本申请的一些实施例中,所述执行单元可以包括获取子单元和执行子单元,如下:
所述获取子单元,用于当所述调用参数通过校验时,从所述目标容器中获取数据源信息;
执行子单元,用于通过所述数据源信息连接数据源,执行所述SQL查询语句对应的脚本文件,得到接口执行结果对象。
由上可知,本实施例可以由配置单元301配置待创建的API接口的数据源信息;通过解析单元302获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;通过生成单元303根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;通过注入单元304将所述接口配置参数注入目标容器中;由建立单元305建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;通过创建单元306在所述目标容器中注册所述映射关系,以创建API接口。本申请可以提高API接口的开发效率,减少了大量的编码工作,且有利于降低API接口的后期运维成本。
本申请实施例还提供一种电子设备,如图4所示,其示出了本申请实施例所涉及的电子设备的结构示意图,该电子设备可以是终端或者服务器等,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及接口创建。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,该电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
从配置待创建的API接口的数据源信息;获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;将所述接口配置参数注入目标容器中;建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;在所述目标容器中注册所述映射关系,以创建API接口。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例可以从配置待创建的API接口的数据源信息;获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;将所述接口配置参数注入目标容器中;建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;在所述目标容器中注册所述映射关系,以创建API接口。本申请可以提高API接口的开发效率,减少了大量的编码工作,且有利于降低API接口的后期运维成本。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种接口创建方法中的步骤。例如,该指令可以执行如下步骤:
从配置待创建的API接口的数据源信息;获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;将所述接口配置参数注入目标容器中;建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;在所述目标容器中注册所述映射关系,以创建API接口。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种接口创建方法中的步骤,因此,可以实现本申请实施例所提供的任一种接口创建方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述接口创建方面的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种接口创建方法以及相关设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种接口创建方法,其特征在于,包括:
配置待创建的API接口的数据源信息;
获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;
根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;
将所述接口配置参数注入目标容器中;
建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;
在所述目标容器中注册所述映射关系,以创建API接口。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到接口调用方对所述API接口的调用请求时,根据所述API接口的接口路径信息,调用关联的业务处理方法;
基于所述业务处理方法,对所述调用请求中的调用参数进行合法性和安全性校验;
当所述调用参数通过校验时,执行所述SQL查询语句对应的脚本文件,得到接口执行结果对象;
对所述接口执行结果对象进行格式包装处理,并返回包装后的接口执行结果对象给所述接口调用方。
3.根据权利要求2所述的方法,其特征在于,所述当所述调用参数通过校验时,执行所述SQL查询语句对应的脚本文件,得到接口执行结果对象,包括:
当所述调用参数通过校验时,从所述目标容器中获取数据源信息;
通过所述数据源信息连接数据源,执行所述SQL查询语句对应的脚本文件,得到接口执行结果对象。
4.根据权利要求1所述的方法,其特征在于,所述根据所述接口配置参数定义MyBatis语法的SQL查询语句,包括:
获取所述待创建的API接口对应的初始SQL查询语句;
基于MyBatis语法,将所述接口配置参数与所述初始SQL查询语句进行融合,得到SQL查询语句。
5.根据权利要求4所述的方法,其特征在于,所述获取所述待创建的API接口对应的初始SQL查询语句,包括:
基于预设验证条件,对所述接口创建请求进行验证,所述预设验证条件用于验证所述接口创建请求的合法性;
当所述接口创建请求通过验证时,获取所述待创建的API接口对应的初始SQL查询语句。
6.根据权利要求4所述的方法,其特征在于,所述基于MyBatis语法,将所述接口配置参数与所述初始SQL查询语句进行融合,得到SQL查询语句,包括:
基于MyBatis语法,确定所述接口配置参数在所述初始SQL查询语句中的注入位置;
根据所述注入位置,将所述接口配置参数注入到所述初始SQL查询语句中,得到SQL查询语句。
7.一种接口创建装置,其特征在于,包括:
配置单元,用于配置待创建的API接口的数据源信息;
解析单元,用于获取接口创建请求,并对所述接口创建请求进行解析,得到接口配置参数;
生成单元,用于根据所述接口配置参数定义MyBatis语法的SQL查询语句;并基于所述SQL查询语句生成MyBatis查询对象;
注入单元,用于将所述接口配置参数注入目标容器中;
建立单元,用于建立所述MyBatis查询对象、所述数据源信息和所述接口配置参数之间的映射关系;
创建单元,用于在所述目标容器中注册所述映射关系,以创建API接口。
8.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至6任一项所述的接口创建方法中的操作。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至6任一项所述的接口创建方法中的步骤。
10.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现权利要求1至6任一项所述的接口创建方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211601649.XA CN115982257A (zh) | 2022-12-13 | 2022-12-13 | 接口创建方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211601649.XA CN115982257A (zh) | 2022-12-13 | 2022-12-13 | 接口创建方法以及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115982257A true CN115982257A (zh) | 2023-04-18 |
Family
ID=85975091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211601649.XA Pending CN115982257A (zh) | 2022-12-13 | 2022-12-13 | 接口创建方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115982257A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755685A (zh) * | 2023-04-25 | 2023-09-15 | 成都赛力斯科技有限公司 | 一种数据接口的配置方法、装置及数据查询方法 |
-
2022
- 2022-12-13 CN CN202211601649.XA patent/CN115982257A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755685A (zh) * | 2023-04-25 | 2023-09-15 | 成都赛力斯科技有限公司 | 一种数据接口的配置方法、装置及数据查询方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672140B1 (en) | Processing special requests at dedicated application containers | |
US7904421B2 (en) | Transparent virtual machine for mobile applications | |
US7865528B2 (en) | Software, devices and methods facilitating execution of server-side applications at mobile devices | |
EP3364631B1 (en) | Dynamic orchestration of microservices | |
US10528406B2 (en) | Protocol extensibility for an application object framework | |
US9471345B2 (en) | Runtime generation and injection of java annotations | |
US20030060896A9 (en) | Software, devices and methods facilitating execution of server-side applications at mobile devices | |
CN105872083A (zh) | 一种支持不同类型客户端访问服务器的方法、服务器及系统 | |
US9747353B2 (en) | Database content publisher | |
US20120089931A1 (en) | Lightweight operation automation based on gui | |
CN102567400B (zh) | 一种实现Web访问的方法和Web服务器 | |
CN111026634A (zh) | 一种接口自动化测试系统、方法、装置及存储介质 | |
US10498862B2 (en) | Bi-directional communication for an application object framework | |
Rattanapoka et al. | An MQTT-based IoT cloud platform with flow design by Node-RED | |
CN113485927A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
US10459698B2 (en) | Framework for generating adapters in an integrated development environment | |
WO2021093672A1 (zh) | 外部系统的嵌入方法、工作流系统、设备及计算机可读存储介质 | |
CN115982257A (zh) | 接口创建方法以及相关设备 | |
CN111552901B (zh) | H5跨引擎客户端数据自动化更新的方法、存储介质 | |
US12019647B2 (en) | Accessing application services from forms | |
US20160170739A1 (en) | Alter application behaviour during runtime | |
CN113626001B (zh) | 一种基于脚本的api动态编排方法及装置 | |
CN113064987B (zh) | 数据处理方法、装置、电子设备、介质和程序产品 | |
CN116795673A (zh) | 一种系统测试方法、装置、电子设备及存储介质 | |
CN115878396A (zh) | 用于企业服务总线的接口测试方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |