CN104252339A - 接口层开发、接口层实现数据交互的方法和装置 - Google Patents

接口层开发、接口层实现数据交互的方法和装置 Download PDF

Info

Publication number
CN104252339A
CN104252339A CN201310257121.XA CN201310257121A CN104252339A CN 104252339 A CN104252339 A CN 104252339A CN 201310257121 A CN201310257121 A CN 201310257121A CN 104252339 A CN104252339 A CN 104252339A
Authority
CN
China
Prior art keywords
interface
assembly
exploitation
base class
rear end
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.)
Granted
Application number
CN201310257121.XA
Other languages
English (en)
Other versions
CN104252339B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310257121.XA priority Critical patent/CN104252339B/zh
Publication of CN104252339A publication Critical patent/CN104252339A/zh
Application granted granted Critical
Publication of CN104252339B publication Critical patent/CN104252339B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种接口层开发的方法和装置,还提出一种接口层实现数据交互的方法和装置,其中,接口层开发的方法,包括步骤:提取接口开发代码的通用部分,生成各接口开发基类;根据接口开发基类和各接口开发基类之间的关联关系,构建接口开发框架;接收逻辑接口配置指令,在接口开发框架中配置逻辑接口对应的各组件之间的逻辑关系;接收通用接口配置指令,在接口开发框架中配置通用接口对应的组件和后端接口;将配置后的接口开发框架作为开发完成的接口层。本发明将接口代码中的通用部分统一构建成接口开发框架,开发时调用该接口开发框架,并只对逻辑接口和通用接口部分进行配置,大大提高了接口层开发效率,缩短了开发时间,节省了人力资源。

Description

接口层开发、接口层实现数据交互的方法和装置
技术领域
本发明涉及到通信技术领域,特别涉及到接口层开发、接口层实现数据交互的方法和装置。
背景技术
在web数据交互中,面向用户的前端应用层与后台运行的后端***层之间,由中间接口层进行通信连接。对于中间接口层,其主要的工作是对用户在前端应用层提交的请求数据和用户权限进行校验,并根据用户的请求,从后端***层(以下简称后端)的各服务中获取数据,返回给前端应用层(以下简称前端)。
在传统模式中,中间接口层(以下简称接口层)通常是在接收到用户请求后,根据请求查找到对应的目标接口,即路由至目标接口,然后再采用查找到的目标接口对请求数据和用户权限进行验证,这样一来,在进行接口层开发时,需要对每个接口都编入校验代码,增加了接口层开发的复杂度,降低了开发效率。
发明内容
本发明实施例的主要目的为提供一种接口层开发的方法和装置,以有效提高接口层开发效率,简化开发流程;还提供了一种接口层实现数据交互的方法和装置,以有效提高接口层进行数据交互的效率。
本发明实施例提出一种接口层开发的方法,包括步骤:
提取接口开发代码的通用部分,生成各接口开发基类;
根据所述接口开发基类和各接口开发基类之间的关联关系,构建接口开发框架;
接收逻辑接口配置指令,在所述接口开发框架中配置逻辑接口对应的各组件之间的逻辑关系;接收通用接口配置指令,在所述接口开发框架中配置通用接口对应的组件和后端接口;
将配置后的所述接口开发框架作为开发完成的接口层。
本发明实施例还提出一种接口层数据交互的方法,包括步骤:
接收并解析前端发送的协议和请求,获得请求数据和用户权限;
校验所述请求数据和用户权限;
当所述请求数据和用户权限校验有效时,根据所述请求数据,路由至目标接口;
采用所述目标接口调用对应的组件,由所述组件与后端进行交互,获得所述后端返回的响应数据;
将所述响应数据和所述协议封装后,发送至所述前端。
本发明实施例还提出一种接口层开发的装置,包括:
基类生成模块,用于提取接口开发代码的通用部分,生成各接口开发基类;
框架构建模块,用于根据所述接口开发基类和各接口开发基类之间的关联关系,构建接口开发框架;
逻辑接口配置模块,用于接收逻辑接口配置指令,在所述接口开发框架中配置逻辑接口对应的各组件之间的逻辑关系;
通用接口配置模块,用于接收通用接口配置指令,在所述接口开发框架中配置通用接口对应的组件和后端接口;
开发完成模块,用于将配置好的所述接口开发框架作为开发完成的接口层。
本发明实施例还提出一种接口层数据交互的装置,包括:
解析模块,用于接收并解析前端发送的协议和请求,获得请求数据和用户权限;
校验模块,用于校验所述请求数据和用户权限;
接口路由模块,用于当校验模块判定所述请求数据和用户权限校验有效时,根据所述请求数据,路由至目标接口;
交互模块,用于采用所述目标接口调用对应的组件,由所述组件与后端进行交互,获得所述后端返回的响应数据;
封装模块,用于将所述响应数据和所述协议封装后,发送至所述前端。
本发明实施例将接口代码中的通用部分统一构建成接口开发框架,开发时调用该接口开发框架,并只对其中的逻辑接口和通用接口部分进行配置,大大提高了接口层的开发效率,缩短了开发时间,节省了人力资源。
附图说明
图1为本发明接口层开发的方法实施例的流程图;
图2为本发明接口层开发的方法实施例中统一配置各接口对应的组件与后端交互的协议的步骤流程图;
图3为本发明接口层实现数据交互的方法的第一实施例的流程图;
图4为本发明接口层实现数据交互的方法的第二实施例的流程图;
图5为本发明接口层实现数据交互的方法的第三实施例的流程图;
图6为本发明接口层开发的装置第一实施例的结构示意图;
图7为本发明接口层开发的装置第二实施例的结构示意图;
图8为本发明接口层实现数据交互的装置的第一实施例的结构示意图;
图9为本发明接口层实现数据交互的装置的第二实施例的结构示意图;
图10为本发明接口层实现数据交互的装置的第三实施例的结构示意图;
图11为本发明中开发完成的接口层的第一实施例的结构示意图;
图12为本发明中开发完成的接口层的第二实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1为本发明接口层开发的方法实施例的流程图。本实施例提到的接口层开发的方法,包括:
步骤S11,提取接口开发代码的通用部分,生成各接口开发基类;
本实施例中,为了节省接口层开发流程,对接口开发代码的通用性进行分析,将各接口层的开发代码中通用的部分提取出来,这部分通用的代码可包括解析代码、校验代码、接口路由代码、组件交互代码、异常处理代码和封装代码。将上述提取的代码构成基类,包括解析代码基类、校验代码基类、接口路由代码基类、组件交互代码基类、异常处理代码基类和封装代码基类。其中,基类是指在继承机制中,用于派生新的数据类型的原有数据类型,在本实施例中,即可认为是将生成的各接口开发基类作为模版,来构建接口层。
步骤S12,根据接口开发基类和各接口开发基类之间的关联关系,构建接口开发框架;
根据各接口开发基类之间的逻辑关系、执行的先后顺序等关联关系,构建接口开发框架,形成一个通用的接口层架构。由于构建接口开发框架的各接口开发基类都是通用的,各类接口层都适用,开发者在开发接口时,无需对这些通用的代码进行编译,大大节省了开发时间,提高了代码的复用率。
步骤S13,接收逻辑接口配置指令,在接口开发框架中配置逻辑接口对应的各组件之间的逻辑关系;接收通用接口配置指令,在接口开发框架中配置通用接口对应的组件和后端接口;
在进行接口逻辑开发时,由于不同的接口层,各逻辑接口中配置的组件的逻辑关系也不同,应根据实际情况进行配置。此时开发者只需要关注各组件的逻辑部分,无需再对其他通用的代码进行编译,逻辑接口的开发效率可提升40%。对于通用接口,由于一个通用接口只对应了一个组件,不存在各组件之间的逻辑关系,配置时只需配置哪些请求是需要使用到通用接口,并配置通用接口需要调用的组件、以及被调用的组件与后端服务程序交互时需使用到的后端接口,配置简单快捷,有利于释放资源,通用接口的开发效率可提升90%。
步骤S14,将配置后的接口开发框架作为开发完成的接口层。
本步骤请一并参照图11,图11为本发明中开发完成的接口层的第一实施例的结构示意图,其中,协议解析、数据和权限校验、接口路由、异常处理、协议封装、组件1至组件n的基类均为接口开发代码的通用部分,开发时,只需对逻辑接口和通用接口部分进行配置即可,实现了快速开发,提高了接口层开发效率。
本实施例中,将接口代码中的通用部分统一构建成接口开发框架,开发时调用该接口开发框架,并只对其中的逻辑接口和通用接口部分进行配置,大大提高了接口层的开发效率,缩短了开发时间,节省了开发资源。
如图2所示,图2为本发明接口层开发的方法实施例中统一配置各接口对应的组件与后端交互的协议的步骤流程图。
本实施例考虑到在接口层中,接口调用组件与后端服务进行交互时,后端中不同的服务在交互时的协议并不统一,则不同的后端服务跟接口层的组件交互时的代码也各不相同,在传统的开发模式中,针对不同的组件与后端服务之间需要采用不同的交互代码,无疑会增加接口开发的复杂程度,效率非常低下。因此,本实施例针对图1所示实施例中提及的组件交互代码基类,在组件交互代码基类中统一配置有各接口对应的组件与后端交互的协议,统一配置各接口对应的组件与后端交互的协议的步骤包括:
步骤S111,统一配置各接口对应的组件将待访问的后端接口的接口名和接入参数发送至后端;
本实施例中,组件在向后端发送的数据时,无需关注后端服务的协议,而是将“后端接口的接口名”和“接入参数”抽象为组件与后端服务交互的协议,后端在接收到接口名和接入参数后,根据接口名找到对应的后端服务的接口,并从后端服务中找到与接入参数对应的数据后,反馈给组件。
步骤S112,统一配置各接口对应的组件根据接收到的后端返回的响应结果,生成返回码和响应数据,并返回至组件对应的接口。
组件在接收到后端发送的数据时,同样无需关注后端服务的协议,而是将后端返回的响应结果构建为“返回码”和“响应数据”的格式,返回给接口层。
本实施例请一并参照图12,图12为本发明中开发完成的接口层的第二实施例的结构示意图,开发时,调用已构建好的接口开发框架,并统一配置了各接口对应的组件与后端交互的协议,如此一来,即使后端不同服务对应的协议不同,组件也可以采用统一的协议代码来与后端服务进行交互,在开发接口层时,组件交互代码可作为通用的基类,来构建接口开发框架,开发时直接调用接口开发框架即可,无需再对不同的后端服务编译不同的交互代码,有效的提高了开发效率,节省了开发时间和开发资源。
如图3所示,图3为本发明接口层实现数据交互的方法的第一实施例的流程图。本实施例中的接口层是基于图1或图2所示实施例中的接口层开发的方法获得的,本实施例提到的接口层实现数据交互的方法,包括:
步骤S10,接收并解析前端发送的协议和请求,获得请求数据和用户权限;
本实施例中,前端是指面向用户的应用层,后端是指在后台运行的***层。用户在经由前端发送请求时,前端还将协议与请求一并封装发送至接口层,其中,协议规定了前端通信所需的规则。
步骤S20,校验请求数据和用户权限;
在解析协议与请求后,可获得用户的请求数据以及用户的权限。对请求数据进行校验操作,以确保接口层从前端接收到的请求数据是有效数据;同时还对用户权限进行校验,避免非法用户访问后端数据。该校验的操作从目标接口中独立出来,有利于释放目标接口的资源。当校验失败时,接口层直接将数据无效的提示信息或用户非法的提示信息,与协议一并封装后,反馈给前端,中断当前操作。
步骤S30,当请求数据和用户权限校验有效时,根据请求数据,路由至目标接口;
当校验成功时,执行接口路由操作,根据请求数据携带的操作需求,查找到对应的目标接口,再由目标接口调用对应的组件来与后端进行数据交互。目标接口可包括逻辑接口和通用接口,其中,逻辑接口可调用至少两个组件,并预先配置有各组件之间的逻辑关系;通用接口可调用的组件数量通常为一个,不存在接口之间的逻辑关系。
步骤S40,采用目标接口调用对应的组件,由组件与后端进行交互,获得后端返回的响应数据;
在路由至对应的目标接口后,由目标接口来调用各组件,并由调用的组件与后端进行交互。例如,获取聊天记录的请求,路由至获取聊天记录的接口,调用账号查询组件和聊天记录查询组件,两组件之间的逻辑关系是“与”的关系,即查找当前账号与待查询的好友之间的聊天记录。各组件从后端获得响应数据后,返回给目标接口。
步骤S50,将响应数据和协议封装后,发送至前端。
为了便于前端识别,可采用与前端发送的相同的协议来定义响应数据,并将协议与响应数据封装后,发送至前端。
本实施例中,目标接口与只用于调用组件,校验的操作与目标接口的操作分离开来,可有效提高接口调用组件的效率,同时,由于本实施例中的接口层是采用图1或图2所示实施例中的接口层开发的方法获得的,该接口层在开发时将接口代码中的通用部分构建为统一的基类,有效提高了接口代码的复用率,节省了代码占用的资源。
如图4所示,图4为本发明接口层实现数据交互的方法的第二实施例的流程图。本实施例以图3所示实施例为基础,对步骤S40进一步说明,步骤S40包括:
步骤S41,采用目标接口调用对应的组件;
本实施例由目标接口调用对应的组件来与后端各服务进行交互。当目标接口为逻辑接口时,调用的组件为至少两个,各组件之间存在相互的逻辑关系;当目标接口为通用接口时,调用的组件为一个,各组件之间不存在逻辑关系。
步骤S42,由组件将待访问的后端接口的接口名和接入参数发送至后端;
在组件与后端交互时,无需关注后端服务各自的协议,而是将“后端接口的接口名”和“接入参数”抽象为组件与后端服务交互的协议。例如,当前请求为查看QQ好友,后端接口的接口名为“好友列表”,接入参数为当前用户的QQ账号。
步骤S43,由组件接收后端返回的响应结果;
后端在接收到接口名和接入参数后,根据接口名找到对应的后端服务的接口,并从后端服务中找到与接入参数对应的数据后,反馈给组件。例如,上述查看QQ好友的实施例中,后端根据后端接口的接口名和与接入参数,查找到该QQ账号对应的好友列表,并将其作为响应结果返回给对应的组件。
步骤S44,由组件根据响应结果生成返回码和响应数据,并返回至目标接口。
组件在接收到后端发送的数据时,同样无需关注后端服务的协议,而是将后端返回的响应结果构建为“返回码”和“响应数据”的格式,返回给接口层。该返回码标识出当前接收到的响应数据与前端发送的请求对应,响应数据则包括了后端服务的响应结果,例如上述实施例中的QQ账号对应的好友列表。
本实施例通过统一的组件协议与后端服务进行交互,无需关注后端服务对应的协议,一方面有利于提高接口层与后端交互的效率,另一方面,由于在开发接口层时,将该统一的组件协议代码作为通用的基类,来构建接口开发框架,有效提高了接口代码的复用率,节省了代码占用的资源。
如图5所示,图5为本发明接口层实现数据交互的方法的第三实施例的流程图。本实施例在图3所示实施例的基础上,在步骤S40之后增加了异常处理步骤,包括:
步骤S51,判断是否出现异常;如果是,则执行步骤S52;如果否,则执行步骤S50;
步骤S52,将异常提示信息封装后,发送至前端。
本实施例中,异常情况包括网络访问异常、数据库访问异常、接口错误、封装错误等,为避免在异常状况出现时将封装的数据发送至前端,而导致前端无法识别的情况,本实施例还包括异常处理。传统的异常处理通常是针对特定的目标接口,而本实施例将异常处理作为接口代码的通用部分,从目标接口中独立出来,有利于为目标接口释放资源,同时,将异常处理代码作为通用的基类来构建接口开发框架,有效提高了接口代码的复用率,节省了代码占用的资源。
如图6所示,图6为本发明接口层开发的装置第一实施例的结构示意图。本实施例提到的接口层开发的装置,包括:
基类生成模块11,用于提取接口开发代码的通用部分,生成各接口开发基类;
框架构建模块12,用于根据接口开发基类和各接口开发基类之间的关联关系,构建接口开发框架;
逻辑接口配置模块13,用于接收逻辑接口配置指令,在接口开发框架中配置逻辑接口对应的各组件之间的逻辑关系;
通用接口配置模块14,用于接收通用接口配置指令,在接口开发框架中配置通用接口对应的组件和后端接口;
开发完成模块15,用于将配置后的接口开发框架作为开发完成的接口层。
本实施例中,为了节省接口层开发流程,对接口开发代码的通用性进行分析,将各接口层的开发代码中通用的部分提取出来,这部分通用的代码可包括解析代码、校验代码、接口路由代码、组件交互代码、异常处理代码和封装代码。将上述提取的代码构成基类,包括解析代码基类、校验代码基类、接口路由代码基类、组件交互代码基类、异常处理代码基类和封装代码基类。其中,基类是指在继承机制中,用于派生新的数据类型的原有数据类型,在本实施例中,即可认为是将生成的各接口开发基类作为模版,来构建接口层。根据各接口开发基类之间的逻辑关系、执行的先后顺序等关联关系,构建接口开发框架,形成一个通用的接口层架构。由于构建接口开发框架的各接口开发基类都是通用的,各类接口层都适用,开发者在开发接口时,无需对这些通用的代码进行编译,大大节省了开发时间,提高了代码的复用率。
在进行接口逻辑开发时,由于不同的接口层,各逻辑接口中配置的组件的逻辑关系也不同,应根据实际情况进行配置。此时开发者只需要关注各组件的逻辑部分,无需再对其他通用的代码进行编译,逻辑接口的开发效率可提升40%。对于通用接口,由于一个通用接口只对应了一个组件,不存在各组件之间的逻辑关系,配置时只需配置哪些请求是需要使用到通用接口,并配置通用接口需要调用的组件、以及被调用的组件与后端服务程序交互时需使用到的后端接口,配置简单快捷,有利于释放资源,通用接口的开发效率可提升90%。
开发完成的接口层请一并参照图11,其中,协议解析、数据和权限校验、接口路由、异常处理、协议封装、组件1至组件n的基类均为接口开发代码的通用部分,开发时,只需对逻辑接口和通用接口部分进行配置即可。由于本实施例中将接口代码中的通用部分统一构建成接口开发框架,开发时调用该接口开发框架,并只对其中的逻辑接口和通用接口部分进行配置,大大提高了接口层的开发效率,缩短了开发时间,节省了开发资源。
如图7所示,图7为本发明接口层开发的装置第二实施例的结构示意图。本实施例考虑到在接口层中,接口调用组件与后端服务进行交互时,后端中不同的服务在交互时的协议并不统一,则不同的后端服务跟接口层的组件交互时的代码也各不相同,在传统的开发模式中,针对不同的组件与后端服务之间需要采用不同的交互代码,无疑会增加接口开发的复杂程度,效率非常低下。因此,本实施例针对图6所示实施例中提及的组件交互代码基类,在组件交互代码基类中统一配置有各接口对应的组件与后端交互的协议,并增加了组件协议配置模块16,用于:
统一配置各接口对应的组件将待访问的后端接口的接口名和接入参数发送至后端;
统一配置各接口对应的组件根据接收到的后端返回的响应结果,生成返回码和响应数据,并返回至组件对应的接口。
本实施例中,组件在向后端发送的数据时,无需关注后端服务的协议,而是将“后端接口的接口名”和“接入参数”抽象为组件与后端服务交互的协议,后端在接收到接口名和接入参数后,根据接口名找到对应的后端服务的接口,并从后端服务中找到与接入参数对应的数据后,反馈给组件。组件在接收到后端发送的数据时,同样无需关注后端服务的协议,而是将后端返回的响应结果构建为“返回码”和“响应数据”的格式,返回给接口层。本实施例请一并参照图12,开发时,调用已构建好的接口开发框架,并统一配置了各接口对应的组件与后端交互的协议,如此一来,即使后端不同服务对应的协议不同,组件也可以采用统一的协议代码来与后端服务进行交互,在开发接口层时,组件交互代码可作为通用的基类,来构建接口开发框架,开发时直接调用接口开发框架即可,无需再对不同的后端服务编译不同的交互代码,有效的提高了开发效率,节省了开发时间和开发资源。
如图8所示,图8为本发明接口层实现数据交互的装置的第一实施例的结构示意图。本实施例中的接口层是基于图6或图7所示实施例中的接口层开发的装置获得的,本实施例提到的接口层数据交互的装置,包括:
解析模块20,用于接收并解析前端发送的协议和请求,获得请求数据和用户权限;
校验模块30,用于校验请求数据和用户权限;
接口路由模块40,用于当校验模块30判定请求数据和用户权限校验有效时,根据请求数据,路由至目标接口;
交互模块50,用于采用目标接口调用对应的组件,由组件与后端进行交互,获得后端返回的响应数据;
封装模块60,用于将响应数据和协议封装后,发送至前端。
本实施例中,前端是指面向用户的应用层,后端是指在后台运行的***层。用户在经由前端发送请求时,前端还将协议与请求一并封装发送至接口层,其中,协议规定了前端通信所需的规则。在解析协议与请求后,可获得用户的请求数据以及用户的权限。对请求数据进行校验操作,以确保接口层从前端接收到的请求数据是有效数据;同时还对用户权限进行校验,避免非法用户访问后端数据。该校验的操作从目标接口中独立出来,有利于释放目标接口的资源。当校验失败时,接口层直接将数据无效的提示信息或用户非法的提示信息,与协议一并封装后,反馈给前端,中断当前操作。当校验成功时,执行接口路由操作,根据请求数据携带的操作需求,查找到对应的目标接口,再由目标接口调用对应的组件来与后端进行数据交互。目标接口可包括逻辑接口和通用接口,其中,逻辑接口可调用至少两个组件,并预先配置有各组件之间的逻辑关系;通用接口可调用的组件数量通常为一个,不存在接口之间的逻辑关系。在路由至对应的目标接口后,由目标接口来调用各组件,并由调用的组件与后端进行交互。例如,获取聊天记录的请求,路由至获取聊天记录的接口,调用账号查询组件和聊天记录查询组件,两组件之间的逻辑关系是“与”的关系,即查找当前账号与待查询的好友之间的聊天记录。各组件从后端获得响应数据后,返回给目标接口。为了便于前端识别,可采用与前端发送的相同的协议来定义响应数据,并将协议与响应数据封装后,发送至前端。
本实施例中,目标接口与只用于调用组件,校验的操作与目标接口的操作分离开来,可有效提高接口调用组件的效率,同时,由于本实施例中的接口层是采用图6或图7所示实施例中的接口层开发的装置获得的,该接口层在开发时将接口代码中的通用部分构建为统一的基类,有效提高了接口代码的复用率,节省了代码占用的资源。
如图9所示,图9为本发明接口层实现数据交互的装置的第二实施例的结构示意图。本实施例以图8所示实施例为基础,交互模块50包括:
调用子模块51,用于采用目标接口调用对应的组件;
统一组件协议子模块52,统一组件协议子模块52包括以下单元:
统一发送单元521,用于由组件将待访问的后端接口的接口名和接入参数发送至后端;
结果接收单元522,用于由组件接收后端返回的响应结果;
统一返回单元523,用于由组件根据响应结果生成返回码和响应数据,并返回至目标接口。
本实施例由目标接口调用对应的组件来与后端各服务进行交互。当目标接口为逻辑接口时,调用的组件为至少两个,各组件之间存在相互的逻辑关系;当目标接口为通用接口时,调用的组件为一个,各组件之间不存在逻辑关系。在组件与后端交互时,无需关注后端服务各自的协议,而是将“后端接口的接口名”和“接入参数”抽象为组件与后端服务交互的协议。例如,当前请求为查看QQ好友,后端接口的接口名为“好友列表”,接入参数为当前用户的QQ账号。后端在接收到接口名和接入参数后,根据接口名找到对应的后端服务的接口,并从后端服务中找到与接入参数对应的数据后,反馈给组件。例如,上述查看QQ好友的实施例中,后端根据后端接口的接口名和与接入参数,查找到该QQ账号对应的好友列表,并将其作为响应结果返回给对应的组件。组件在接收到后端发送的数据时,同样无需关注后端服务的协议,而是将后端返回的响应结果构建为“返回码”和“响应数据”的格式,返回给接口层。该返回码标识出当前接收到的响应数据与前端发送的请求对应,响应数据则包括了后端服务的响应结果,例如上述实施例中的QQ账号对应的好友列表。
本实施例通过统一的组件协议与后端服务进行交互,无需关注后端服务对应的协议,一方面有利于提高接口层与后端交互的效率,另一方面,由于在开发接口层时,将该统一的组件协议代码作为通用的基类,来构建接口开发框架,有效提高了接口代码的复用率,节省了代码占用的资源。
如图10所示,图10为本发明接口层实现数据交互的装置的第三实施例的结构示意图。本实施例在图8所示实施例的基础上,增加了异常处理模块70,用于当出现异常时,将异常提示信息封装后,发送至前端。
本实施例中,异常情况包括网络访问异常、数据库访问异常、接口错误、封装错误等,为避免在异常状况出现时将封装的数据发送至前端,而导致前端无法识别的情况,本实施例还包括异常处理。传统的异常处理通常是针对特定的目标接口,而本实施例将异常处理作为接口代码的通用部分,从目标接口中独立出来,有利于为目标接口释放资源,同时,将异常处理代码作为通用的基类来构建接口开发框架,有效提高了接口代码的复用率,节省了代码占用的资源。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (14)

1.一种接口层开发的方法,其特征在于,包括步骤:
提取接口开发代码的通用部分,生成各接口开发基类;
根据所述接口开发基类和各接口开发基类之间的关联关系,构建接口开发框架;
接收逻辑接口配置指令,在所述接口开发框架中配置逻辑接口对应的各组件之间的逻辑关系;接收通用接口配置指令,在所述接口开发框架中配置通用接口对应的组件和后端接口;
将配置后的所述接口开发框架作为开发完成的接口层。
2.根据权利要求1所述的接口层开发的方法,其特征在于,所述接口开发基类包括组件交互代码基类,所述组件交互代码基类中统一配置有各接口对应的组件与后端交互的协议;
所述统一配置各接口对应的组件与后端交互的协议的步骤包括:
统一配置各接口对应的组件将待访问的后端接口的接口名和接入参数发送至所述后端;
统一配置各接口对应的组件根据接收到的所述后端返回的响应结果,生成返回码和响应数据,并返回至所述组件对应的接口。
3.根据权利要求2所述的接口层开发的方法,其特征在于,所述接口开发基类还包括解析代码基类、校验代码基类、接口路由代码基类、异常处理代码基类和封装代码基类。
4.一种根据权利要求1至3任一项所述的接口层开发的方法获得的接口层实现数据交互的方法,其特征在于,包括步骤:
接收并解析前端发送的协议和请求,获得请求数据和用户权限;
校验所述请求数据和用户权限;
当所述请求数据和用户权限校验有效时,根据所述请求数据,路由至目标接口;
采用所述目标接口调用对应的组件,由所述组件与后端进行交互,获得所述后端返回的响应数据;
将所述响应数据和所述协议封装后,发送至所述前端。
5.根据权利要求4所述的接口层实现数据交互的方法,其特征在于,所述采用所述目标接口调用对应的组件,由所述组件与后端进行交互,获得所述后端返回的响应数据的步骤包括:
采用所述目标接口调用对应的组件;
由所述组件将待访问的后端接口的接口名和接入参数发送至所述后端;
由所述组件接收所述后端返回的响应结果;
由所述组件根据所述响应结果生成返回码和响应数据,并返回至所述目标接口。
6.根据权利要求5所述的接口层实现数据交互的方法,其特征在于,所述采用所述目标接口调用对应的组件,由所述组件与后端进行交互,获得所述后端返回的响应数据的步骤之后还包括:
当出现异常时,将异常提示信息封装后,发送至所述前端。
7.根据权利要求4至6任一项所述的接口层实现数据交互的方法,其特征在于,所述目标接口包括逻辑接口和通用接口,所述逻辑接口调用的组件数量为多个,所述逻辑接口预先配置有多个组件之间的逻辑关系;所述通用接口调用的组件数量为一个。
8.一种接口层开发的装置,其特征在于,包括:
基类生成模块,用于提取接口开发代码的通用部分,生成各接口开发基类;
框架构建模块,用于根据所述接口开发基类和各接口开发基类之间的关联关系,构建接口开发框架;
逻辑接口配置模块,用于接收逻辑接口配置指令,在所述接口开发框架中配置逻辑接口对应的各组件之间的逻辑关系;
通用接口配置模块,用于接收通用接口配置指令,在所述接口开发框架中配置通用接口对应的组件和后端接口;
开发完成模块,用于将配置后的所述接口开发框架作为开发完成的接口层。
9.根据权利要求8所述的接口层开发的装置,其特征在于,所述接口开发基类包括组件交互代码基类,所述组件交互代码基类中统一配置有各接口对应的组件与后端交互的协议;
所述接口层开发的装置还包括组件协议配置模块,用于:
统一配置各接口对应的组件将待访问的后端接口的接口名和接入参数发送至所述后端;
统一配置各接口对应的组件根据接收到的所述后端返回的响应结果,生成返回码和响应数据,并返回至所述组件对应的接口。
10.根据权利要求9所述的接口层开发的装置,其特征在于,所述接口开发基类还包括解析代码基类、校验代码基类、接口路由代码基类、异常处理代码基类和封装代码基类。
11.一种根据权利要求8至10任一项所述的接口层开发的装置获得的接口层实现数据交互的装置,其特征在于,包括:
解析模块,用于接收并解析前端发送的协议和请求,获得请求数据和用户权限;
校验模块,用于校验所述请求数据和用户权限;
接口路由模块,用于当校验模块判定所述请求数据和用户权限校验有效时,根据所述请求数据,路由至目标接口;
交互模块,用于采用所述目标接口调用对应的组件,由所述组件与后端进行交互,获得所述后端返回的响应数据;
封装模块,用于将所述响应数据和所述协议封装后,发送至所述前端。
12.根据权利要求11所述的接口层实现数据交互的装置,其特征在于,所述交互模块包括:
调用子模块,用于采用所述目标接口调用对应的组件;
统一组件协议子模块,所述统一组件协议子模块包括以下单元:
统一发送单元,用于由所述组件将待访问的后端接口的接口名和接入参数发送至所述后端;
结果接收单元,用于由所述组件接收所述后端返回的响应结果;
统一返回单元,用于由所述组件根据所述响应结果生成返回码和响应数据,并返回至所述目标接口。
13.根据权利要求12所述的接口层实现数据交互的装置,其特征在于,还包括:
异常处理模块,用于当出现异常时,将异常提示信息封装后,发送至所述前端。
14.根据权利要求11至13任一项所述的接口层实现数据交互的装置,其特征在于,所述目标接口包括逻辑接口和通用接口,所述逻辑接口调用的组件数量为多个,所述逻辑接口预先配置有多个组件之间的逻辑关系;所述通用接口调用的组件数量为一个。
CN201310257121.XA 2013-06-25 2013-06-25 接口层开发、接口层实现数据交互的方法和装置 Active CN104252339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310257121.XA CN104252339B (zh) 2013-06-25 2013-06-25 接口层开发、接口层实现数据交互的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310257121.XA CN104252339B (zh) 2013-06-25 2013-06-25 接口层开发、接口层实现数据交互的方法和装置

Publications (2)

Publication Number Publication Date
CN104252339A true CN104252339A (zh) 2014-12-31
CN104252339B CN104252339B (zh) 2018-07-06

Family

ID=52187290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310257121.XA Active CN104252339B (zh) 2013-06-25 2013-06-25 接口层开发、接口层实现数据交互的方法和装置

Country Status (1)

Country Link
CN (1) CN104252339B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293651A (zh) * 2015-05-19 2017-01-04 深圳中兴网信科技有限公司 一种通用接口的实现方法及装置
CN106570143A (zh) * 2016-11-04 2017-04-19 广州华多网络科技有限公司 一种发送响应对象的方法和装置
CN106776968A (zh) * 2016-12-05 2017-05-31 广州谷得网络科技有限公司 一种通用的游戏数据接口层
CN106936937A (zh) * 2015-12-29 2017-07-07 阿里巴巴集团控股有限公司 用于互联网业务交互的通用接口的实现方法和装置
CN108062382A (zh) * 2017-12-13 2018-05-22 广州视源电子科技股份有限公司 信息交互的方法、装置、设备以及存储介质
CN108153745A (zh) * 2016-12-02 2018-06-12 腾讯科技(深圳)有限公司 一种应用数据调用方法及应用开发***
CN108282519A (zh) * 2017-12-29 2018-07-13 深圳中兴网信科技有限公司 基于中间件的接口实现方法、接口实现***
CN108376068A (zh) * 2016-11-26 2018-08-07 深圳壹账通智能科技有限公司 脚本框架页面组件的转换方法及转换装置
CN108924185A (zh) * 2018-06-01 2018-11-30 中铁程科技有限责任公司 接口生成方法及装置
CN109144479A (zh) * 2018-07-20 2019-01-04 中国邮政储蓄银行股份有限公司 开发架构
CN109144919A (zh) * 2018-09-07 2019-01-04 四川中电启明星信息技术有限公司 一种接口转接方法及装置
CN109714470A (zh) * 2018-10-23 2019-05-03 北京理工大学 一种基于nodejs实现手机应用模块化的方法及***
CN109933313A (zh) * 2019-02-25 2019-06-25 快乐购有限责任公司 一种SAP NetWeaver平台与J2EE***的通用接口集成方法
CN110188518A (zh) * 2019-05-29 2019-08-30 Oppo广东移动通信有限公司 参数配置方法、装置、终端及存储介质
CN110851386A (zh) * 2019-10-24 2020-02-28 深圳市信锐网科技术有限公司 一种接口配置设备
CN111176857A (zh) * 2018-11-12 2020-05-19 北京数安鑫云信息技术有限公司 一种智能提供数据的方法及装置
CN111314424A (zh) * 2020-01-17 2020-06-19 深圳壹账通智能科技有限公司 服务平台的组件管理方法和***
CN111638984A (zh) * 2020-05-29 2020-09-08 拉扎斯网络科技(上海)有限公司 接口配置方法、接口调用方法及相关装置
CN112083925A (zh) * 2020-09-07 2020-12-15 中国平安财产保险股份有限公司 基于h5页面开发的数据获取方法、装置、设备及存储介质
CN114089967A (zh) * 2022-01-19 2022-02-25 武汉源启科技股份有限公司 Api接口的生成方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987772A (zh) * 2005-12-23 2007-06-27 上海全景数字技术有限公司 通用界面设计接口***及使用该***的界面开发方法
CN101256482A (zh) * 2007-12-19 2008-09-03 深圳市同洲电子股份有限公司 一种嵌入式应用程序的开发***及方法
CN101739254A (zh) * 2009-12-31 2010-06-16 山东中创软件商用中间件股份有限公司 一种实现多平台通信组件复用的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987772A (zh) * 2005-12-23 2007-06-27 上海全景数字技术有限公司 通用界面设计接口***及使用该***的界面开发方法
CN101256482A (zh) * 2007-12-19 2008-09-03 深圳市同洲电子股份有限公司 一种嵌入式应用程序的开发***及方法
CN101739254A (zh) * 2009-12-31 2010-06-16 山东中创软件商用中间件股份有限公司 一种实现多平台通信组件复用的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张静: "一个基于模型驱动的ERP软件开发框架的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293651A (zh) * 2015-05-19 2017-01-04 深圳中兴网信科技有限公司 一种通用接口的实现方法及装置
CN106936937A (zh) * 2015-12-29 2017-07-07 阿里巴巴集团控股有限公司 用于互联网业务交互的通用接口的实现方法和装置
CN106936937B (zh) * 2015-12-29 2020-09-08 阿里巴巴集团控股有限公司 用于互联网业务交互的通用接口的实现方法和装置
CN106570143B (zh) * 2016-11-04 2020-05-12 广州华多网络科技有限公司 一种发送响应对象的方法和装置
CN106570143A (zh) * 2016-11-04 2017-04-19 广州华多网络科技有限公司 一种发送响应对象的方法和装置
CN108376068A (zh) * 2016-11-26 2018-08-07 深圳壹账通智能科技有限公司 脚本框架页面组件的转换方法及转换装置
CN108153745B (zh) * 2016-12-02 2021-08-13 腾讯科技(深圳)有限公司 一种应用数据调用方法及应用开发***
CN108153745A (zh) * 2016-12-02 2018-06-12 腾讯科技(深圳)有限公司 一种应用数据调用方法及应用开发***
CN106776968B (zh) * 2016-12-05 2020-10-23 广州谷得网络科技有限公司 一种通用的游戏数据接口层
CN106776968A (zh) * 2016-12-05 2017-05-31 广州谷得网络科技有限公司 一种通用的游戏数据接口层
CN108062382A (zh) * 2017-12-13 2018-05-22 广州视源电子科技股份有限公司 信息交互的方法、装置、设备以及存储介质
CN108282519A (zh) * 2017-12-29 2018-07-13 深圳中兴网信科技有限公司 基于中间件的接口实现方法、接口实现***
CN108924185A (zh) * 2018-06-01 2018-11-30 中铁程科技有限责任公司 接口生成方法及装置
CN109144479A (zh) * 2018-07-20 2019-01-04 中国邮政储蓄银行股份有限公司 开发架构
CN109144919A (zh) * 2018-09-07 2019-01-04 四川中电启明星信息技术有限公司 一种接口转接方法及装置
CN109144919B (zh) * 2018-09-07 2022-03-29 四川中电启明星信息技术有限公司 一种接口转接方法及装置
CN109714470B (zh) * 2018-10-23 2020-08-04 北京理工大学 一种基于nodejs实现手机应用模块化的方法及***
CN109714470A (zh) * 2018-10-23 2019-05-03 北京理工大学 一种基于nodejs实现手机应用模块化的方法及***
CN111176857B (zh) * 2018-11-12 2024-06-11 北京数安鑫云信息技术有限公司 一种智能提供数据的方法及装置
CN111176857A (zh) * 2018-11-12 2020-05-19 北京数安鑫云信息技术有限公司 一种智能提供数据的方法及装置
CN109933313B (zh) * 2019-02-25 2022-07-19 快乐购有限责任公司 一种SAP NetWeaver平台与J2EE***的通用接口集成方法
CN109933313A (zh) * 2019-02-25 2019-06-25 快乐购有限责任公司 一种SAP NetWeaver平台与J2EE***的通用接口集成方法
CN110188518A (zh) * 2019-05-29 2019-08-30 Oppo广东移动通信有限公司 参数配置方法、装置、终端及存储介质
CN110851386A (zh) * 2019-10-24 2020-02-28 深圳市信锐网科技术有限公司 一种接口配置设备
CN110851386B (zh) * 2019-10-24 2021-05-04 深圳市信锐网科技术有限公司 一种接口配置设备
CN111314424B (zh) * 2020-01-17 2021-11-23 深圳壹账通智能科技有限公司 服务平台的组件管理方法和***
CN111314424A (zh) * 2020-01-17 2020-06-19 深圳壹账通智能科技有限公司 服务平台的组件管理方法和***
CN111638984A (zh) * 2020-05-29 2020-09-08 拉扎斯网络科技(上海)有限公司 接口配置方法、接口调用方法及相关装置
CN112083925A (zh) * 2020-09-07 2020-12-15 中国平安财产保险股份有限公司 基于h5页面开发的数据获取方法、装置、设备及存储介质
CN114089967A (zh) * 2022-01-19 2022-02-25 武汉源启科技股份有限公司 Api接口的生成方法和装置

Also Published As

Publication number Publication date
CN104252339B (zh) 2018-07-06

Similar Documents

Publication Publication Date Title
CN104252339A (zh) 接口层开发、接口层实现数据交互的方法和装置
CN111258725B (zh) 一种基于区块链的数据处理方法、装置、设备和介质
CN110032511A (zh) 一种接口测试方法及接口测试设备
CN111600909A (zh) 数据处理方法、装置、协议转换设备及存储介质
CN103428166B (zh) 第三方应用的多sns平台统一接入方法及***
CN102902537B (zh) 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架
CN108881111B (zh) 一种实现多租户***的方法及装置
EP2429150A1 (en) Apparatus, web service component and method based on web service
CN111163052B (zh) 连接物联网平台方法、装置、介质及电子设备
CN111552568B (zh) 云服务调用方法和装置
CN112073923A (zh) 兼容多运营商的通信方法、装置、网关及可读存储介质
CN103747076A (zh) 云平台的访问方法和装置
CN109460222A (zh) 应用程序的组件化方法、装置、设备及存储介质
CN107040613A (zh) 一种报文传输方法及***
CN117407195A (zh) 一种应用***与第三方***的接口***、集成方法和装置
WO2023125755A1 (zh) 基于大规模集群的服务请求处理方法、装置、设备及介质
CN111343221B (zh) 基于通用接口框架的命令模式下的业务处理方法和装置
CN116668520A (zh) 一种基于网关的服务编排方法、***、设备及存储介质
CN115904317A (zh) 一种前后端接口统一调用方法、装置、设备及存储介质
CN102523335B (zh) 面向虚拟社区应用的移动终端中间件***
CN102075646B (zh) 呼叫中心设备控制***及方法
CN115550468A (zh) 业务请求处理方法、装置、设备及介质
CN112925557A (zh) 容器组件、处理方法及计算设备
KR101351867B1 (ko) 소프트웨어 및 어플리케이션 제어 관리 객체에서의 단계 실행 결과를 처리하는 방법
CN111240690A (zh) 基于策略模式的服务处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190730

Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.