CN116610295A - 接口服务提供方法、装置、电子设备、系统和存储介质 - Google Patents

接口服务提供方法、装置、电子设备、系统和存储介质 Download PDF

Info

Publication number
CN116610295A
CN116610295A CN202310451368.9A CN202310451368A CN116610295A CN 116610295 A CN116610295 A CN 116610295A CN 202310451368 A CN202310451368 A CN 202310451368A CN 116610295 A CN116610295 A CN 116610295A
Authority
CN
China
Prior art keywords
interface
interceptor
registration information
target
execution result
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
Application number
CN202310451368.9A
Other languages
English (en)
Inventor
刘洋
闫文敬
曹旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN202310451368.9A priority Critical patent/CN116610295A/zh
Publication of CN116610295A publication Critical patent/CN116610295A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开一种接口服务提供方法、装置、电子设备、系统和存储介质,方法包括:获取终端发起的接口服务请求,接口服务请求中包括目标接口的接口注册信息;根据接口注册信息查询拦截器注册信息,以确定为目标接口注册的拦截器;执行拦截器对应的功能得到执行结果;根据执行结果向终端提供目标接口对应的服务数据。本发明利用注册的拦截器为接口提供所需功能,保证功能的完整性和覆盖度,只需提前为接口注册拦截器,不需要单独为接口编写功能实现的源代码,不需要通过拖拉拽操作构建功能,节省了时间成本,提高了开发效率;对于接口通用功能,可以通过统一设计的拦截器实现,提供了通用功能的横向逻辑表示,提升了接口服务的上线进度。

Description

接口服务提供方法、装置、电子设备、系统和存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种接口服务提供方法、装置、电子设备、系统和存储介质。
背景技术
现有低代码平台在开发应用程序的时候,经常需要对外暴露表现层状态转移(Representational State Transfer,RSET)应用程序接口(Application ProgramInterface,API),从而对外提供接口服务。在这种场景下,通常采用如下两种方式实现接口所需的逻辑功能:
第一种,采用类似流程图的逻辑流的方式,通过拖拉拽的方式生成接口所需的逻辑功能。
第二种,直接在每个接口的源代码中编写所需逻辑功能的源代码,从而为对应接口提供所需的逻辑功能。
在实现本发明的过程中,发明人发现,第一种通过拖拉拽实现所需逻辑功能的方式,往往需要很多的操作步骤才能拖拽出一个逻辑功能,效率低,而且不丰富的节点会限制功能的完整性和覆盖度;第二种通过编写源代码实现所需逻辑功能的方式,针对每个接口都需要单独编写逻辑功能实现的源代码,时间成本高,效率低,缺少接口通用功能的横向逻辑表示,拖慢了接口服务的上线进度。
发明内容
本发明实施例提供一种接口服务提供方法、装置、电子设备、系统和存储介质,能够保证接口所需功能的完整性和覆盖度,提升接口服务的上线进度。
第一方面,本发明实施例提供的接口服务提供方法,包括:
获取终端发起的接口服务请求,所述接口服务请求中包括目标接口的接口注册信息;
根据所述接口注册信息查询拦截器注册信息,以确定为所述目标接口注册的拦截器;
执行所述拦截器对应的功能得到执行结果;
根据所述执行结果向所述终端提供所述目标接口对应的服务数据。
第二方面,本发明实施例提供的接口服务提供装置,包括:
获取模块,用于获取终端发起的接口服务请求,所述接口服务请求中包括目标接口的接口注册信息;
查询模块,用于根据所述接口注册信息查询拦截器注册信息,以确定为所述目标接口注册的拦截器;
执行模块,用于执行所述拦截器对应的功能得到执行结果;
提供模块,用于根据所述执行结果向所述终端提供所述目标接口对应的服务数据。
第三方面,本发明实施例提供的电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任一实施例所述的接口服务提供方法。
第四方面,本发明实施例提供的接口服务提供系统,包括终端和用于执行本发明任一实施例所述的接口服务提供方法的电子设备。
第五方面,本发明实施例提供的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的接口服务提供方法。
本发明实施例的方案,可以获取终端发起的接口服务请求,接口服务请求中包括目标接口的接口注册信息;根据接口注册信息查询拦截器注册信息,以确定为目标接口注册的拦截器;执行拦截器对应的功能得到执行结果;根据执行结果向终端提供目标接口对应的服务数据。即本发明可以利用注册的拦截器为接口提供所需的逻辑功能,因而能够保证功能的完整性和覆盖度,只需要提前为接口注册拦截器即可,不需要单独为接口编写逻辑功能实现的源代码,不需要用户通过拖拉拽操作构建逻辑功能,节省了时间成本,提高了开发效率;对于接口通用功能,可以通过统一设计的拦截器实现,提供了通用功能的横向逻辑表示,提升了接口服务的上线进度。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的接口服务提供方法的一个流程示意图;
图2是本发明实施例提供的接口服务上线方法的一个流程示意图;
图3是本发明实施例提供的接口服务提供方法的另一流程示意图;
图4是本发明实施例提供的接口服务提供装置的一个结构示意图;
图5是本发明实施例提供的接口服务提供系统的一个结构示意图;
图6是本发明实施例提供的电子设备的一个结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是本发明实施例提供的接口服务提供方法的一个流程示意图,该方法可以应用在接口服务上线之后为用户提供相应服务的过程中,该方法可以由本发明实施例提供的接口服务提供装置来执行,该装置可采用软件和/或硬件的方式实现。在一个具体的实施例中,该装置可以集成在电子设备中,电子设备比如可以是计算机、服务器等。以下实施例将以该装置集成在电子设备中为例进行说明。参考图1,该方法具体可以包括如下步骤:
步骤101,获取终端发起的接口服务请求,接口服务请求中包括目标接口的接口注册信息。
具体地,终端可以是手机、个人计算机等,终端上安装有应用程序,该应用程序可以是通过低代码开发平台开发的应用程序,应用程序在运行时,需要调用接口服务,接口服务可以是RSET API服务。具体实现中,在需要接口服务时,终端可以向电子设备发起接口查询请求,接口查询请求中可以包括所需调用接口(即目标接口)的标识信息(比如接口名称),电子设备根据目标接口的标识信息查询注册信息,从而得到目标接口的接口注册信息,向终端反馈目标接口的接口注册信息,从而使得终端根据目标接口的接口注册信息组装请求得到接口服务请求,电子设备获取终端发起的接口服务请求。其中,接口注册信息中可以包括目标接口对外暴露的地址信息、目标接口对外暴露的方法等;对外暴露的地址信息可以是统一资源定位符(Uniform Resource Locator,URL),对外暴露的方法比如post方法、get方法等。
示例地,比如终端上的应用程序在运行时,需要调用“学生信息查询接口”获取学生A的详细信息,则终端可以向电子设备发送接口查询请求,以查询“学生信息查询接口”的接口注册信息,接口注册信息中可以包括“学生信息查询接口”对外暴露的URL和方法(比如get方法),终端将查询得到的URL、方法等作为参数进行组装得到接口服务请求(即get请求),当然,get请求中还可以包括其他参数,其他参数比如学生A的标识信息(例如学生A的编号、姓名等),终端向电子设备发起get请求,电子设备获取终端发起的get请求。
步骤102,根据接口注册信息查询拦截器注册信息,以确定为目标接口注册的拦截器。
拦截器的功能是拦截用户请求并执行相应判断或处理,一个接口可能需要一个或多个拦截器,从而满足接口所需功能。实际应用中,可以根据接口的实际需求功能预先为接口注册拦截器,不同拦截器执行的判断或处理不同,拦截器所执行的判断或处理比如日志记录、权限验证、登陆校验、性能检测等。
具体地,拦截器注册信息中可以包括各个拦截器拦截的接口、拦截顺序等信息,各个拦截器拦截的接口可以用接口对外暴露的地址信息表示,即可以根据目标接口的接口注册信息中的地址信息查询拦截器注册信息,从而确定为目标接口注册的拦截器。示例地,比如目标接口的接口注册信息中的地址信息为URL1,则可以查询拦截器注册信息中包括URL1的拦截器,将拦截器注册信息中包括URL1的拦截器确定为对目标接口注册的拦截器。
步骤103,执行拦截器对应的功能得到执行结果。
具体地,当为目标接口注册的拦截器有一个时,可以直接执行该拦截器对应的功能得到执行结果;当为目标接口注册的拦截器有至少两个时,可以根据拦截器注册信息确定至少两个拦截器的拦截顺序,根据拦截顺序执行至少两个拦截器分别对应的功能,得到执行结果。示例地,比如为目标接口注册的拦截器有两个,拦截器1用于登陆校验,拦截器2用于权限验证,当拦截顺序为先登陆校验再验证权限时,可以先执行拦截器1再执行拦截器2。
步骤104,根据执行结果向终端提供目标接口对应的服务数据。
具体地,每个拦截器的执行结果具有对应的预设条件,可以确定每个拦截器的执行结果是否满足对应的预设条件,如果各个拦截器的执行结果均满足对应的预设条件,则可以对接口服务请求放行,从而根据接口服务请求中的接口注册信息访问第三方库获取所需的服务数据,向终端反馈服务数据。比如,拦截器1用于登陆校验,对应的预设条件是校验通过,拦截器2用于权限验证,对应的预设条件是验证通过,则可以在拦截器1进行登陆校验的校验结果为通过且拦截器2进行权限验证的验证结果为通过时,向终端提供所需的服务数据。接续前面的例子,当需要调用“学生信息查询接口”获取学生A的详细信息时,此处向终端提供的服务数据即可以是调用“学生信息查询接口”从学生信息库获取的学生A的详细信息。
本实施例的方案,可以获取终端发起的接口服务请求,接口服务请求中包括目标接口的接口注册信息;根据接口注册信息查询拦截器注册信息,以确定为目标接口注册的拦截器;执行拦截器对应的功能得到执行结果;根据执行结果向终端提供目标接口对应的服务数据。即本发明可以利用注册的拦截器为接口提供所需的逻辑功能,因而能够保证功能的完整性和覆盖度,只需要提前为接口注册拦截器即可,不需要单独为接口编写逻辑功能实现的源代码,不需要用户通过拖拉拽操作构建逻辑功能,节省了时间成本,提高了开发效率;对于接口通用功能,可以通过统一设计的拦截器实现,提供了通用功能的横向逻辑表示,提升了接口服务的上线进度。
下面介绍接口服务上线的过程,具体可如图2所示,可以包括如下步骤:
步骤201,确定目标接口的当前版本代码与上一版本代码的差异,得到差异代码。
目标接口可以是新开发的接口,也可以是对原有接口进行升级或更新得到的接口,当目标接口为新开发接口时,目标接口的当前版本代码即为初始版本代码,当目标接口为原有接口升级或更新得到的接口时,目标接口的当前版本代码可以是最新版本代码,上一版本代码可以是最新版本代码的前一版本。本实施例以目标接口为原有接口升级或更新得到的接口为例进行说明,具体地,可以通过代码比对确定目标接口的当前版本代码与上一版本代码的差异,得到差异代码。
步骤202,根据差异代码对当前版本代码进行增量编译,得到接口类文件。
增量编译即增量地处理源程序代码中的变化,避免重复进行针对整个代码的完全编译,采用增量编译,可以在一定程度上提高编译效率。具体地,当前版本代码可以是java源代码,对当前版本代码进行增量编译,即将java源代码转换成机器能识别的字节码文件,从而得到接口类文件。
具体实现中,在确定差异代码之后,可以进一步确定差异代码在当前版本代码中所占比例,如果差异代码所占比例低于预设比例,则可以对当前版本代码进行增量编译,预设比例比如25%、20%等。当差异代码所占比例低于预设比例,说明本次在上版设计中做了较小改动,采用增量编译可以提高编译效率;反之,如果差异代码所占比例不低于预设比例,则说明本次在上版设计中做了较大改动,则可以采用全量编译。
步骤203,根据父类加载器创建子类加载器。
加载是将类文件加载到内存并转化为类对象的过程,子类加载器可以访问父类加载器加载得到的类对象。
步骤204,利用子类加载器获取父类加载器加载接口类文件得到的接口对象,并利用子类加载器获取父类加载器加载拦截器文件得到的拦截器对象。
具体地,子类加载器可以将类加载任务委托给父类加载器去执行,父类加载器可以执行类加载任务将接口类文件加载到内存从而得到接口对象,将目标接口所需的拦截器文件加载到内存从而拦截器对象,子类加载器可以直接从父类加载器获取接口对象和拦截器对象。
步骤205,停止处理目标接口的任务队列中的待处理任务。
具体地,待处理任务可以包括不同终端针对目标接口发起的接口调用任务,可以采用队列的形式管理目标接口的待处理任务,当需要进行接口升级或更新时,可以暂停目标接口对外提供的服务,即将目标接口的任务队列中的待处理任务挂起,暂停对这些任务的处理。
步骤206,在容器中注册接口对象得到接口注册信息,并在容器中注册拦截器对象得到拦截器注册信息。
其中,接口注册信息中可以包括目标接口对外暴露的地址信息、目标接口对外暴露的方法等,拦截器注册信息中可以包括各个拦截器拦截的接口(可以用接口的地址信息表示)、拦截顺序等信息。
步骤207,恢复处理目标接口的任务队列中的待处理任务。
即在拦截器对象和接口对象均注册成功之后,恢复目标接口对外提供的服务,继续处理目标接口的任务队列中的待处理任务。拦截器对象和接口对象均注册成功,说明接口升级或更新已完成,新版接口已上线,所以可以恢复接口对外提供的服务。
本实施例中,采用增量编译,可以提高编译效率;采用类加载器的父类迭代机制,使得同一个类名、不同的逻辑可以同时存在,保证了程序的稳定性;在接口升级或更新的过程中,将任务挂起,可以让服务一致性得到保护;最后,在上线阶段为接口注册拦截器,可以使得接口上线后,通过注册的拦截器为接口提供所需的逻辑功能,因而不需要单独为接口编写逻辑功能实现的源代码,不需要用户通过拖拉拽操作构建逻辑功能,节省了时间成本,提高了开发效率;对于接口通用功能,可以通过统一设计的拦截器实现,提供了通用功能的横向逻辑表示,提升了接口服务的上线进度。
下面结合接口服务上线的过程进一步描述本发明实施例的接口服务提供方法,如图3所示,具体可以包括如下步骤:
步骤301,获取终端发起的接口服务请求,接口服务请求中包括目标接口的接口注册信息。
以目标接口的任务队列中的待处理任务包括终端发起的接口服务请求为例,则在目标接口升级完成上线后,可以从目标接口的任务队列中获取终端发起的接口服务请求。接口注册信息中可以包括目标接口对外暴露的地址信息、目标接口对外暴露的方法等。
步骤302,根据接口注册信息查询拦截器注册信息,以确定为目标接口注册的至少两个拦截器。
拦截器注册信息中可以包括各个拦截器拦截的接口(可以用接口的地址信息表示)、拦截顺序等信息。比如,可以查询拦截器注册信息包括目标接口的地址信息的拦截器,将拦截器注册信息包括目标接口的地址信息的拦截器确定为对目标接口注册的拦截器。
步骤303,确定至少两个拦截器的拦截顺序。
拦截器的功能是拦截用户请求并执行相应判断或处理,具体地,可以根据拦截器注册信息确定至少两个拦截器的拦截顺序,不同拦截器执行的判断或处理不同。
步骤304,根据拦截顺序执行至少两个拦截器分别对应的功能,得到执行结果。
示例地,至少两个拦截器包括拦截器1和拦截器2,拦截器1用于登陆校验,拦截器2用于权限验证,则拦截器1的执行结果可以包括校验通过或校验不通过,拦截器2的执行结果可以包括验证通过或验证不通过。
步骤305,确定执行结果是否满足预设条件,若不满足,则执行步骤306,若满足,则执行步骤307。
每个拦截器的执行结果具有对应的预设条件,可以确定每个拦截器的执行结果是否满足对应的预设条件,如果各个拦截器的执行结果均满足对应的预设条件,则可以对接口服务请求放行,从而根据接口服务请求中的接口注册信息访问第三方库获取所需的服务数据,向终端反馈服务数据;如果有至少一个拦截器的执行结果不满足对应的预设条件,则可以不对接口服务请求放行,向终端反馈错误提示信息。
步骤306,向终端反馈错误提示信息。
具体地,错误提示信息中可以包括错误原因,错误原因比如:权限验证不通过、登陆校验不通过等。
步骤307,根据接口服务请求获取服务数据。
具体地,可以根据接口服务请求中的接口注册信息访问第三方库获取所需的服务数据,第三方库可以提前引入,以提高服务效率。
步骤308,向终端反馈服务数据。
本实施例的方案,可以获取终端发起的接口服务请求,接口服务请求中包括目标接口的接口注册信息;根据接口注册信息查询拦截器注册信息,以确定为目标接口注册的拦截器;执行拦截器对应的功能得到执行结果;根据执行结果向终端提供目标接口对应的服务数据。即本发明可以利用注册的拦截器为接口提供所需的逻辑功能,因而能够保证功能的完整性和覆盖度,只需要提前为接口注册拦截器即可,不需要单独为接口编写逻辑功能实现的源代码,不需要用户通过拖拉拽操作构建逻辑功能,节省了时间成本,提高了开发效率;对于接口通用功能,可以通过统一设计的拦截器实现,提供了通用功能的横向逻辑表示,提升了接口服务的上线进度。
下面举例对比说明本发明实施例的接口服务提供方法,比如终端上有一个学生管理系统,学生管理系统需要调用“学生信息查询接口”获取学生A的详细信息,“学生信息查询接口”需要登陆校验、权限验证这两个逻辑功能,而原有的“学生信息查询接口”没有这两个逻辑功能,则可以在原有的“学生信息查询接口”升级上线时,为“学生信息查询接口”注册具有登陆校验和权限验证功能的拦截器,则在更新后的“学生信息查询接口”上线之后,在终端上的学生管理系统调用更新后的“学生信息查询接口”时,可以执行为该接口注册的具有登陆校验的拦截器和具有权限验证功能的拦截器,从而实现登陆校验和权限验证功能。而目前的方法中,如果要为“学生信息查询接口”新增登陆校验和权限验证功能,则需要重写“学生信息查询接口”的源代码,在源代码中加入实现登陆校验和权限验证的代码,或者在类似流程图的界面通过拖拉拽的方式创建登陆校验和权限验证功能,本发明实施例的方案则不需要这些操作,只需要在接口上线阶段为接口注册所需功能的拦截器,因而可以提升接口服务的上线进度。
图4是本发明实施例提供的接口服务提供装置的一个结构示意图,如图4所示,该装置具体可以包括:
获取模块401,用于获取终端发起的接口服务请求,所述接口服务请求中包括目标接口的接口注册信息;
查询模块402,用于根据所述接口注册信息查询拦截器注册信息,以确定为所述目标接口注册的拦截器;
执行模块403,用于执行所述拦截器对应的功能得到执行结果;
提供模块404,用于根据所述执行结果向所述终端提供所述目标接口对应的服务数据。
一实施例中,该装置还包括:
编译模块,用于编译所述目标接口的当前版本代码得到接口类文件;
加载模块,用于加载所述接口类文件得到接口对象,并加载所述目标接口所需的拦截器文件得到拦截器对象;
注册模块,用于在容器中注册所述接口对象得到所述接口注册信息,并在所述容器中注册所述拦截器对象得到所述拦截器注册信息。
一实施例中,编译模块具体用于:
确定所述目标接口的当前版本代码与上一版本代码的差异,得到差异代码;
根据所述差异代码对所述当前版本代码进行增量编译,得到所述接口类文件。
一实施例中,加载模块具体用于:
根据父类加载器创建子类加载器;
利用所述子类加载器获取所述父类加载器加载所述接口类文件得到的所述接口对象,并利用所述子类加载器获取所述父类加载器加载所述拦截器文件得到的所述拦截器对象。
一实施例中,该装置还包括队列管理模块,队列管理模块具体用于:
在注册模块在容器中注册所述接口对象得到所述接口注册信息,并在所述容器中注册所述拦截器对象得到所述拦截器注册信息之前,停止处理所述目标接口的任务队列中的待处理任务;
在注册模块在容器中注册所述接口对象得到所述接口注册信息,并在所述容器中注册所述拦截器对象得到所述拦截器注册信息之后,恢复处理所述目标接口的任务队列中的待处理任务,所述待处理任务包括所述接口服务请求。
一实施例中,为所述目标接口注册的拦截器有至少两个,所述执行模块403具体用于:
确定所述至少两个拦截器的拦截顺序;
根据所述拦截顺序执行所述至少两个拦截器分别对应的功能,得到所述执行结果。
一实施例中,提供模块404具体用于:
确定所述执行结果是否满足预设条件;
在所述执行结果满足所述预设条件时,根据所述接口服务请求获取所述服务数据;
向所述终端反馈所述服务数据。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例的装置,可以获取终端发起的接口服务请求,接口服务请求中包括目标接口的接口注册信息;根据接口注册信息查询拦截器注册信息,以确定为目标接口注册的拦截器;执行拦截器对应的功能得到执行结果;根据执行结果向终端提供目标接口对应的服务数据。即本发明可以利用注册的拦截器为接口提供所需的逻辑功能,因而能够保证功能的完整性和覆盖度,只需要提前为接口注册拦截器即可,不需要单独为接口编写逻辑功能实现的源代码,不需要用户通过拖拉拽操作构建逻辑功能,节省了时间成本,提高了开发效率;对于接口通用功能,可以通过统一设计的拦截器实现,提供了通用功能的横向逻辑表示,提升了接口服务的上线进度。
本发明实施例还提供了一种电子设备,电子设备可以是服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例提供的接口服务提供方法。
本发明实施例还提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任一实施例提供的接口服务提供方法。
图5示出了可以应用本发明实施例的接口服务提供方法或接口服务提供装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端501、502、503,网络504和服务器505。网络504用以在终端501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端501、502、503上可以安装有各种客户端应用,例如企业应用客户端、电商应用客户端、网页浏览器应用、搜索类应用、即时通信工具和邮箱客户端等,这些客户端应用在运行的过程中,可能需要接口调用服务。
终端501、502、503可以是具有显示屏并且支持各种客户端的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端501、502、503所发送的接口服务请求提供支持的后台服务器。后台服务器可以对接收到的接口服务请求进行处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例的接口服务提供方法一般由服务器505执行,相应地,接口服务提供装置一般设置于服务器505中。
应该理解,图5中的终端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。
下面参考图6,其示出了适于用来实现本发明实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本发明的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有计算机系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明中所涉及到的模块和/或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、查询模块、执行模块和提供模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取终端发起的接口服务请求,所述接口服务请求中包括目标接口的接口注册信息;根据所述接口注册信息查询拦截器注册信息,以确定为所述目标接口注册的拦截器;执行所述拦截器对应的功能得到执行结果;根据所述执行结果向所述终端提供所述目标接口对应的服务数据。
根据本发明的技术方案,可以获取终端发起的接口服务请求,接口服务请求中包括目标接口的接口注册信息;根据接口注册信息查询拦截器注册信息,以确定为目标接口注册的拦截器;执行拦截器对应的功能得到执行结果;根据执行结果向终端提供目标接口对应的服务数据。即本发明可以利用注册的拦截器为接口提供所需的逻辑功能,因而能够保证功能的完整性和覆盖度,只需要提前为接口注册拦截器即可,不需要单独为接口编写逻辑功能实现的源代码,不需要用户通过拖拉拽操作构建逻辑功能,节省了时间成本,提高了开发效率;对于接口通用功能,可以通过统一设计的拦截器实现,提供了通用功能的横向逻辑表示,提升了接口服务的上线进度。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的采集、收集、更新、分析、处理、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法的用途,且不违背公序良俗。对用户个人信息采取必要措施,防止对用户个人信息数据的非法访问,维护用户个人信息安全、网络安全和国家安全。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (11)

1.一种接口服务提供方法,其特征在于,包括:
获取终端发起的接口服务请求,所述接口服务请求中包括目标接口的接口注册信息;
根据所述接口注册信息查询拦截器注册信息,以确定为所述目标接口注册的拦截器;
执行所述拦截器对应的功能得到执行结果;
根据所述执行结果向所述终端提供所述目标接口对应的服务数据。
2.根据权利要求1所述的方法,其特征在于,在获取终端发起的接口服务请求之前,还包括:
编译所述目标接口的当前版本代码得到接口类文件;
加载所述接口类文件得到接口对象,并加载所述目标接口所需的拦截器文件得到拦截器对象;
在容器中注册所述接口对象得到所述接口注册信息,并在所述容器中注册所述拦截器对象得到所述拦截器注册信息。
3.根据权利要求2所述的方法,其特征在于,所述编译所述目标接口的当前版本代码得到接口类文件,包括:
确定所述目标接口的当前版本代码与上一版本代码的差异,得到差异代码;
根据所述差异代码对所述当前版本代码进行增量编译,得到所述接口类文件。
4.根据权利要求2所述的方法,其特征在于,所述加载所述接口类文件得到接口对象,并加载所述目标接口所需的拦截器文件得到拦截器对象,包括:
根据父类加载器创建子类加载器;
利用所述子类加载器获取所述父类加载器加载所述接口类文件得到的所述接口对象,并利用所述子类加载器获取所述父类加载器加载所述拦截器文件得到的所述拦截器对象。
5.根据权利要求2所述的方法,其特征在于,
在容器中注册所述接口对象得到所述接口注册信息,并在所述容器中注册所述拦截器对象得到所述拦截器注册信息之前,还包括:停止处理所述目标接口的任务队列中的待处理任务;
在容器中注册所述接口对象得到所述接口注册信息,并在所述容器中注册所述拦截器对象得到所述拦截器注册信息之后,还包括:恢复处理所述目标接口的任务队列中的待处理任务,所述待处理任务包括所述接口服务请求。
6.根据权利要求1所述的方法,其特征在于,为所述目标接口注册的拦截器有至少两个,所述执行所述拦截器对应的功能得到执行结果,包括:
确定所述至少两个拦截器的拦截顺序;
根据所述拦截顺序执行所述至少两个拦截器分别对应的功能,得到所述执行结果。
7.根据权利要求1所述的方法,其特征在于,所述根据所述执行结果向所述终端提供所述目标接口对应的服务数据,包括:
确定所述执行结果是否满足预设条件;
在所述执行结果满足所述预设条件时,根据所述接口服务请求获取所述服务数据;
向所述终端反馈所述服务数据。
8.一种接口服务提供装置,其特征在于,包括:
获取模块,用于获取终端发起的接口服务请求,所述接口服务请求中包括目标接口的接口注册信息;
查询模块,用于根据所述接口注册信息查询拦截器注册信息,以确定为所述目标接口注册的拦截器;
执行模块,用于执行所述拦截器对应的功能得到执行结果;
提供模块,用于根据所述执行结果向所述终端提供所述目标接口对应的服务数据。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一所述的接口服务提供方法。
10.一种接口服务提供系统,其特征在于,包括终端和用于执行如权利要求1至7中任一所述的接口服务提供方法的电子设备。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一所述的接口服务提供方法。
CN202310451368.9A 2023-04-24 2023-04-24 接口服务提供方法、装置、电子设备、系统和存储介质 Pending CN116610295A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310451368.9A CN116610295A (zh) 2023-04-24 2023-04-24 接口服务提供方法、装置、电子设备、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310451368.9A CN116610295A (zh) 2023-04-24 2023-04-24 接口服务提供方法、装置、电子设备、系统和存储介质

Publications (1)

Publication Number Publication Date
CN116610295A true CN116610295A (zh) 2023-08-18

Family

ID=87679067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310451368.9A Pending CN116610295A (zh) 2023-04-24 2023-04-24 接口服务提供方法、装置、电子设备、系统和存储介质

Country Status (1)

Country Link
CN (1) CN116610295A (zh)

Similar Documents

Publication Publication Date Title
CN111400061A (zh) 一种数据处理方法和系统
CN111475180A (zh) 更新客户端缓存的方法和系统
CN107644075B (zh) 收集页面信息的方法和装置
CN113407165B (zh) Sdk的生成和自升级方法、装置、可读介质和设备
CN113010405B (zh) 一种应用程序的测试方法和装置
CN112748962A (zh) 应用加载方法、装置、电子设备和计算机可读介质
CN110580305A (zh) 生成标识符的方法、装置、系统和介质
CN110928571A (zh) 业务程序开发方法和装置
CN111506904B (zh) 漏洞在线修复的方法和装置
CN112559024A (zh) 一种生成交易码变更列表的方法和装置
CN113050984A (zh) 资源调取方法、装置、电子设备及存储介质
CN110221857A (zh) 应用程序的问题修复方法、装置、电子设备及存储介质
CN111414154A (zh) 前端开发的方法、装置、电子设备和存储介质
CN113420010B (zh) 数据库的管理方法、装置、电子设备和存储介质
CN116737662A (zh) 业务数据处理的方法、装置、电子设备和存储介质
CN117149609A (zh) 一种测试接口的方法和装置
CN115277857A (zh) 用于接口验证的方法、装置、电子设备及存储介质
CN116610295A (zh) 接口服务提供方法、装置、电子设备、系统和存储介质
CN112783903B (zh) 生成更新日志的方法和装置
CN112835609B (zh) 一种修改依赖包下载地址的方法和装置
CN113779122A (zh) 导出数据的方法和装置
US20210026625A1 (en) Device Experience Application Launcher
CN113448602A (zh) 版本更新的方法和装置
CN110727739B (zh) 一种数据存储的方法和装置
WO2023193682A1 (en) Local arrangement of remote deployment

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