CN111782990B - 接口封装处理方法、装置及系统 - Google Patents

接口封装处理方法、装置及系统 Download PDF

Info

Publication number
CN111782990B
CN111782990B CN202010649467.4A CN202010649467A CN111782990B CN 111782990 B CN111782990 B CN 111782990B CN 202010649467 A CN202010649467 A CN 202010649467A CN 111782990 B CN111782990 B CN 111782990B
Authority
CN
China
Prior art keywords
request
interface
real
network
url
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.)
Active
Application number
CN202010649467.4A
Other languages
English (en)
Other versions
CN111782990A (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.)
Shanghai Qianzhen Information Technology Co ltd
Original Assignee
Shanghai Qianzhen Information Technology 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 Shanghai Qianzhen Information Technology Co ltd filed Critical Shanghai Qianzhen Information Technology Co ltd
Priority to CN202010649467.4A priority Critical patent/CN111782990B/zh
Publication of CN111782990A publication Critical patent/CN111782990A/zh
Application granted granted Critical
Publication of CN111782990B publication Critical patent/CN111782990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种接口封装处理方法、装置及系统、电子设备、计算机可读存储介质,所述方法包括:拦截网络请求接口封装者发送的封装后的第一请求,所述网络请求接口封装者用于响应于第一设备发送的包含第一真实URL的第一请求,使用所述第一真实URL对应的第一虚拟Action对所述第一请求进行接口封装并发送;从所述第一请求中获取所述第一虚拟Action;根据所述第一虚拟Action获取所述第一真实URL;使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。改造网络请求接口封装者的请求管理类,移动平台对数据请求进行接口封装时,使用不同的虚拟Action进行请求的管理和维护,解决采用同一Action导致请求分散的问题,便于阅读和维护。

Description

接口封装处理方法、装置及系统
技术领域
本申请涉及移动平台接口处理的技术领域,尤其涉及接口封装处理方法、装置及系统、电子设备、计算机可读存储介质。
背景技术
通常在接口设计中,不同的功能(接口)采用不同的Action,一般体现在URL上,如百度搜索功能:“https://www.baidu.com/s?wd=搜索内容”,其中“s”为搜索的Action。后端在接收到请求时,Action(s)会对应后端的一个方法进行处理,处理成功后返回给客户端。移动平台在对网络请求进行接口封装时,以Retrofit框架这一网络请求接口封装者为例,如果采用POST请求可以示例性地表示如下:
/**
*搜索
*@param key搜索关键词
*@return搜索结果
*/
@FormUrlEncoded
@POST(“s”)
Observable<SearchRes>search(@Field(“wd”)String key);
对于不同功能(接口),使用不同的方法进行集中的管理,便于阅读和维护。但在移动平台中,所有的功能采用同一个Action,如“http://uat.kyydpt.yundasys.com:7001/appserver/interface.do?action=yqt.app.ewbno.queryLabel”,其中interfac e.do对应的URL的Action,Action(interface.do)会对应后端的方法进行处理,后端在接收到请求时,通过获取action参数(yqt.app.ewbno.queryLabel)来处理不同的请求,与struts有些类似。移动平台如安卓端在使用Retrofit框架或其他网络请求接口封装者进行接口封装时,所有的功能(接口)用一个方法表示,请求分散,不方便管理和维护。
发明内容
本申请的目的在于提供接口封装处理方法、装置及系统、电子设备、计算机可读存储介质,解决移动平台在使用网络请求接口封装者对数据请求进行接口封装时,请求分散,不方便管理和维护的问题。
本申请的目的采用以下技术方案实现:
第一方面,本申请提供了一种接口封装处理方法,所述方法包括:拦截网络请求接口封装者发送的封装后的第一请求,所述网络请求接口封装者用于响应于第一设备发送的包含第一真实URL的第一请求,使用所述第一真实URL对应的第一虚拟Action对所述第一请求进行接口封装并发送;从所述第一请求中获取所述第一虚拟Action;根据所述第一虚拟Action获取所述第一真实URL;使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。该技术方案的有益效果在于,改造网络请求接口封装者的请求管理类,移动平台在使用网络请求接口封装者对数据请求进行接口封装时,采用多种虚拟Action替代同一真实Action,在网络请求者发出之前拦截该请求,获取真实UR L,再次进行接口封装并重新创建请求,由此可以使用不同的虚拟Action进行请求的管理和维护,解决移动平台中所有功能采用同一Action导致请求分散的问题,对于同一真实Action对应的多种请求,使用不同的方法进行集中管理,便于阅读和维护。
在一些可能的实现方式中,所述第一虚拟Action是从所述第一真实URL中截取的。该技术方案的有益效果在于,便于在后续过程中根据虚拟Action拼接真实URL,且截取虚拟Action的方式操作简单,提高接口封装效率。
在一些可能的实现方式中,所述第一请求包含第一虚拟URL;所述从所述第一请求中获取所述第一虚拟Action,包括:从所述第一请求中获取所述第一虚拟URL;从所述第一虚拟URL中截取所述第一虚拟Action。该技术方案的有益效果在于,请求中包含虚拟URL,由此可以从虚拟URL中截取虚拟Action。
在一些可能的实现方式中,所述根据所述第一虚拟Action获取所述第一真实URL,包括:根据所述第一虚拟Action和预定关键词获取所述第一真实URL。该技术方案的有益效果在于,预先设定对应移动平台的关键词,根据虚拟Actio n和预定关键词拼接出真实URL。
在一些可能的实现方式中,所述使用所述第一真实URL对应的第一真实Ac tion对所述第一请求进行接口封装并创建第二请求之前,所述方法还包括:检测所述第一请求是否需要加密;若所述第一请求需要加密,则对所述第一请求对应的数据进行加密操作;所述使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求,包括:使用授权码和所述第一真实U RL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。该技术方案的有益效果在于,对第一请求进行加密,提高请求报文在传输过程中的安全性。
在一些可能的实现方式中,所述方法还包括:发送所述第二请求;接收响应数据并发送至网络请求者,以使所述网络请求者将所述响应数据发送至所述第一设备。该技术方案的有益效果在于,发送重新封装后的请求,获取响应数据并返回给用户。
在一些可能的实现方式中,所述接收响应数据并发送至网络请求者,包括:接收所述响应数据;检测所述响应数据是否加密;若所述响应数据加密,则对所述响应数据进行解密操作并将解密后的响应数据发送至所述网络请求者。该技术方案的有益效果在于,若返回的响应数据加密,则对其进行解密后提供给用户。
第二方面,本申请提供了一种接口封装处理装置,所述装置包括:拦截模块,用于拦截网络请求接口封装者发送的封装后的第一请求,所述网络请求接口封装者用于响应于第一设备发送的包含第一真实URL的第一请求,使用所述第一真实URL对应的第一虚拟Action对所述第一请求进行接口封装并发送;第一获取模块,用于从所述第一请求中获取所述第一虚拟Action;第二获取模块,用于根据所述第一虚拟Action获取所述第一真实URL;封装模块,用于使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
在一些可能的实现方式中,所述第一虚拟Action是从所述第一真实URL中截取的。
在一些可能的实现方式中,所述第一请求包含第一虚拟URL;所述第一获取模块用于:从所述第一请求中获取所述第一虚拟URL;从所述第一虚拟URL中截取所述第一虚拟Action。
在一些可能的实现方式中,所述第二获取模块用于根据所述第一虚拟Actio n和预定关键词获取所述第一真实URL。
在一些可能的实现方式中,所述装置还包括检测模块,所述检测模块用于:检测所述第一请求是否需要加密;若所述第一请求需要加密,则对所述第一请求对应的数据进行加密操作;所述封装模块用于使用授权码和所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
在一些可能的实现方式中,所述装置还包括发送模块,所述发送模块用于:发送所述第二请求;接收响应数据并发送至网络请求者,以使所述网络请求者将所述响应数据发送至所述第一设备。
在一些可能的实现方式中,所述发送模块还用于:接收所述响应数据;检测所述响应数据是否加密;若所述响应数据加密,则对所述响应数据进行解密操作并将解密后的响应数据发送至所述网络请求者。
第三方面,本申请提供了一种接口封装处理系统,所述系统包括拦截器、网络请求接口封装者和网络请求者;所述网络请求者用于接收第一设备发送的包含第一真实URL的第一请求并发送至所述网络请求接口封装者;所述网络请求接口封装者用于响应于所述第一请求,使用所述第一真实URL对应的第一虚拟Ac tion对所述第一请求进行接口封装并发送至所述网络请求者;所述拦截器用于拦截所述网络请求接口封装者发送的封装后的第一请求;从所述第一请求中获取所述第一虚拟Action;根据所述第一虚拟Action获取所述第一真实URL;使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
在一些可能的实现方式中,所述网络请求者是OkHttp框架,所述网络请求接口封装者是Retrofit框架。
在一些可能的实现方式中,所述网络请求接口封装者还用于从所述第一真实URL中截取所述第一虚拟Action。
在一些可能的实现方式中,所述第一请求包含第一虚拟URL;所述拦截器还用于:从所述第一请求中获取所述第一虚拟URL;从所述第一虚拟URL中截取所述第一虚拟Action。
在一些可能的实现方式中,所述拦截器还用于根据所述第一虚拟Action和预定关键词获取所述第一真实URL。
在一些可能的实现方式中,所述拦截器还用于:检测所述第一请求是否需要加密;若所述第一请求需要加密,则对所述第一请求对应的数据进行加密操作;使用授权码和所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
在一些可能的实现方式中,所述拦截器还用于:发送所述第二请求;接收响应数据并发送至网络请求者,以使所述网络请求者将所述响应数据发送至所述第一设备。
在一些可能的实现方式中,所述拦截器还用于:接收所述响应数据;检测所述响应数据是否加密;若所述响应数据加密,则对所述响应数据进行解密操作并将解密后的响应数据发送至所述网络请求者。
第四方面,本申请提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项方法的步骤。
第五方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项方法的步骤。
附图说明
下面结合附图和实施例对本申请进一步说明。
图1是本申请实施例提供的一种接口封装处理方法的流程示意图;
图2是本申请实施例提供的一种重新创建请求的流程示意图;
图3是本申请实施例提供的一种获取响应数据的流程示意图;
图4是本申请实施例提供的一种处理响应数据的流程示意图;
图5是本申请实施例提供的一种接口封装处理方法的流程示意图;
图6是本申请实施例提供的一种接口封装处理方法的流程示意图;
图7是本申请实施例提供的一种拦截器进行接口封装处理的流程示意图;
图8是本申请实施例提供的一种拦截器进行接口封装处理的流程示意图;
图9是本申请实施例提供的一种接口封装处理方法的流程示意图;
图10是本申请实施例提供的一种接口封装处理装置的结构示意图;
图11是本申请实施例提供的一种接口封装处理系统的结构示意图;
图12是本申请实施例提供的一种电子设备的结构示意图;
图13是本申请实施例提供的一种用于实现接口封装处理方法的程序产品的结构示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本申请做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
参见图1,本申请实施例提供了一种接口封装处理方法,应用于使用Action对数据请求进行接口封装的场合,适用于拦截器。所述方法包括步骤S101~S104。
步骤S101:拦截网络请求接口封装者发送的封装后的第一请求,所述网络请求接口封装者用于响应于第一设备发送的包含第一真实URL的第一请求,使用所述第一真实URL对应的第一虚拟Action对所述第一请求进行接口封装并发送。其中,网络请求接口封装者例如是Retrofit框架,第一设备使用移动平台发送数据请求并接受响应数据,第一设备例如是手机、平板电脑、智能穿戴设备或其他移动终端设备,第一真实URL例如是http://uat.kyydpt.yundasys.com:7001/a ppserver/interface.do?action=hzm.app.user.login,第一虚拟Action例如是hzm.app.user.login。
在一些可能的实现方式中,所述第一虚拟Action是从所述第一真实URL中截取的。即,使用真实URL中的一部分来构造虚拟Action。便于在后续过程中根据虚拟Action拼接真实URL,且截取虚拟Action的方式操作简单,提高接口封装效率。
步骤S102:从所述第一请求中获取所述第一虚拟Action。
在一些可能的实现方式中,请求中包含虚拟URL,由此可以从虚拟URL中截取虚拟Action。所述第一请求可以包含第一虚拟URL。第一虚拟URL例如是http://uat.kyydpt.yundasys.com:7001/hzm.app.user.login。
所述步骤S102可以包括:从所述第一请求中获取所述第一虚拟URL;从所述第一虚拟URL中截取所述第一虚拟Action。
步骤S103:根据所述第一虚拟Action获取所述第一真实URL。
在一些可能的实现方式中,可以预先设定对应移动平台的关键词,根据虚拟Action和预定关键词拼接出真实URL。所述步骤S103可以包括:根据所述第一虚拟Action和预定关键词获取所述第一真实URL。预定关键词例如是真实URL中去除虚拟Action后的剩余部分,或者是该剩余部分的一部分。预定关键词例如是http://uat.kyydpt.yundasys.com:7001/appserver/interface.do,拼接而成的真实URL例如是http://uat.kyydpt.yundasys.com:7001/appserver/interface.do?action=hzm.app.user.login。
步骤S104:使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
在一些可能的实现方式中,可以从第一请求的JSON数据中解析出appver请求版本、是否加密,从JSON数据中删除这些字段后的剩余JSON数据可以存储至第二请求中,第二请求还可以包括appver、token和action参数。
改造网络请求接口封装者的请求管理类,移动平台在使用网络请求接口封装者对数据请求进行接口封装时,采用多种虚拟Action替代同一真实Action,在网络请求者发出之前拦截该请求,获取真实URL,再次进行接口封装并重新创建请求,由此可以使用不同的虚拟Action进行请求的管理和维护,解决移动平台中所有功能采用同一Action导致请求分散的问题,对于同一真实Action对应的多种请求,使用不同的方法进行集中管理,便于阅读和维护。
在一些可能的实现方式中,可以对第一请求进行加密,提高请求报文在传输过程中的安全性。具体而言,参见图2,所述步骤S104之前,所述方法还可以包括步骤S105~S106。
步骤S105:检测所述第一请求是否需要加密。
步骤S106:若所述第一请求需要加密,则对所述第一请求对应的数据进行加密操作。
所述步骤S104可以包括:使用授权码和所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
在一些可能的实现方式中,可以发送重新封装后的请求,获取响应数据并返回给用户。具体而言,参见图3,所述方法还可以包括步骤S107~S108。
步骤S107:发送所述第二请求。
步骤S108:接收响应数据并发送至网络请求者,以使所述网络请求者将所述响应数据发送至所述第一设备。其中,网络请求者例如是OkHttp框架。
在一些可能的实现方式中,若返回的响应数据加密,则对其进行解密后提供给用户。具体而言,参见图4,所述步骤S108可以包括步骤S1081~S1083。
步骤S1081:接收所述响应数据。
步骤S1082:检测所述响应数据是否加密。
步骤S1083:若所述响应数据加密,则对所述响应数据进行解密操作并将解密后的响应数据发送至所述网络请求者。
本申请实施例提供的接口封装处理方法,先伪造一个虚拟Action,修改Retrofit框架中请求的方法,使移动平台如安卓端的Retrofit框架能够通过不同的方法进行接口封装,之后再通过拦截器将封装接口中伪造的Action转为真实的Action,以及进行解密等处理后,再将返回数据发送给OkHttp框架。
参见图5,本申请实施例还提供了一种接口封装处理方法,所述方法包括步骤S201~S204。
步骤S201:修改Retrofit框架中请求的方法,修改操作由程序执行,使用action参数去伪造URL中的虚拟Action,伪造后的POST请求如下所示:
//用户登录
@POST(“/hzm.app.user.login”)
Observable<LoginResponse>login(@Body LoginRequest loginRequest);
步骤S202:在OkHttp网络请求框架中添加拦截器:addInterceptor,拦截器Interceptor根据包含虚拟Action的虚拟URL重新拼装成真实URL。
步骤S203:对请求数据进行加密处理,出于接口需要,可以统一在Interceptor处理。
步骤S204:对返回数据进行解密处理,与步骤S203类似,出于接口需要,可以统一在Interceptor处理。
参见图6,本申请实施例还提供了一种接口封装处理方法,所述方法包括步骤S301~S302。
步骤S301:修改Retrofit框架中请求管理类,根据不同的功能使用action参数去伪造虚拟URL,对应不同的功能使用不同的方法。在此处,Retrofit框架对伪造的URL使用不同的方法进行封装。
步骤S302:在OkHttp网络请求框架中添加拦截器,拦截器将已经封装好的接口中的虚拟URL转为真实URL。具体而言,参见图7,步骤S302包括步骤S401~S403。
步骤S401:在拦截器中获取请求的URL。
步骤S402:从URL中截取请求的Action,即伪造的虚拟Action:hzm.app.user.login,保留作为action请求参数。
步骤S403:使用真实URL:http://uat.kyydpt.yundasys.com:7001/appserver/interface.do,重新拼接并创建请求,对响应结果同一管理并重新创建Reponse返回给OkHttp框架。
在拦截器的一个实际应用中,参见图8,步骤S302可以包括步骤S501~S508。
步骤S501:从请求体body(loginRequest,继承BaseRequest,其中BaseRequest中保存默认的appVer、是否加密)中获取appver、是否加密信息,并从data(loginRequest转换的JSON数据)中删除该这两项数据对应的key。
步骤S502:若接口需要加解密处理,对data(loginRequest处理后的JSON数据)进行加密操作,此处加密可以是对称加密。
步骤S503:使用真实URL:http://uat.kyydpt.yundasys.com:7001/appserver/interface.do拼接请求,请求中添加必要的参数appver,action,token等数据信息。
步骤S504:对请求参数做签名操作。
步骤S505:重新创建请求并进行请求。
步骤S506:获取到所请求的数据后,若返回的是加密数据,则对其进行解密操作。
步骤S507:对错误统一处理,例如抛出异常给调用处处理。
步骤S508:重新创建响应数据Response,返回给OkHttp框架。
上述接口封装处理方法通过改造Retrofit框架的请求管理类,在接收到用户的数据请求后创建虚拟请求,在OkHttp框架中添加拦截器,拦截虚拟请求,对请求数据再次封装处理,并对请求的返回数据做统一处理。
参见图9,本申请实施例还提供了一种接口封装处理方法,所述方法包括步骤S601~S616。
步骤S601:APIService改造。对移动平台的Retrofit框架的请求管理类进行改造,使之能够根据请求中的真实URL创建虚拟Action,使用虚拟Action进行接口封装。
步骤S602:拦截器Interceptor层,对请求来的虚拟URL进行截取,获取真实URL以及真实Action,对请求过来的JSON数据进行解析,解析出请求版本、是否加密,并删除这些字段后备用。
步骤S603:检测接口是否需要加密,若需要加密则执行步骤S604,否则执行步骤S605。
步骤S604:对data进行加密操作,例如对称加密。
步骤S605:拼接其他参数:appver,token,action等。
步骤S606:请求数据进行签名封装。
步骤S607:重新创建请求,并获取响应数据。
步骤S608:检测请求是否出现异常,若出现异常则执行步骤S609,否则执行步骤S610。
步骤S609:抛出异常,执行步骤S616。
步骤S610:检测返回数据是否加密,若加密则执行步骤S611,否则执行步骤S612。
步骤S611:解密Response,执行步骤S612。
步骤S612:返回数据。
步骤S613:检测返回数据是否异常,若异常则执行步骤S614,否则执行步骤S615。
步骤S614:抛出异常,执行步骤S616。
步骤S615:重新创建Response,执行步骤S616。
步骤S616:Retrofit处理。
参见图10,本申请实施例还提供了一种接口封装处理装置,所述装置包括:拦截模块201,用于拦截网络请求接口封装者发送的封装后的第一请求,所述网络请求接口封装者用于响应于第一设备发送的包含第一真实URL的第一请求,使用所述第一真实URL对应的第一虚拟Action对所述第一请求进行接口封装并发送;第一获取模块202,用于从所述第一请求中获取所述第一虚拟Action;第二获取模块203,用于根据所述第一虚拟Action获取所述第一真实URL;封装模块204,用于使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
在一些可能的实现方式中,所述第一虚拟Action是从所述第一真实URL中截取的。
在一些可能的实现方式中,所述第一请求包含第一虚拟URL;所述第一获取模块202用于:从所述第一请求中获取所述第一虚拟URL;从所述第一虚拟URL中截取所述第一虚拟Action。
在一些可能的实现方式中,所述第二获取模块203用于根据所述第一虚拟Action和预定关键词获取所述第一真实URL。
在一些可能的实现方式中,所述装置还包括检测模块205,所述检测模块205用于:检测所述第一请求是否需要加密;若所述第一请求需要加密,则对所述第一请求对应的数据进行加密操作;所述封装模块204用于使用授权码和所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
在一些可能的实现方式中,所述装置还包括发送模块206,所述发送模块206用于:发送所述第二请求;接收响应数据并发送至网络请求者,以使所述网络请求者将所述响应数据发送至所述第一设备。
在一些可能的实现方式中,所述发送模块206还用于:接收所述响应数据;检测所述响应数据是否加密;若所述响应数据加密,则对所述响应数据进行解密操作并将解密后的响应数据发送至所述网络请求者。
参见图11,本申请提供了一种接口封装处理系统,所述系统包括拦截器301、网络请求接口封装者302和网络请求者303。
所述网络请求者303用于接收第一设备发送的包含第一真实URL的第一请求并发送至所述网络请求接口封装者302。
所述网络请求接口封装者302用于响应于所述第一请求,使用所述第一真实URL对应的第一虚拟Action对所述第一请求进行接口封装并发送至所述网络请求者303。
所述拦截器301用于拦截所述网络请求接口封装者302发送的封装后的第一请求;从所述第一请求中获取所述第一虚拟Action;根据所述第一虚拟Action获取所述第一真实URL;使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
在一些可能的实现方式中,所述网络请求者303是OkHttp框架,所述网络请求接口封装者302是Retrofit框架。
在一些可能的实现方式中,所述网络请求接口封装者302还用于从所述第一真实URL中截取所述第一虚拟Action。
在一些可能的实现方式中,所述第一请求包含第一虚拟URL;所述拦截器301还用于:从所述第一请求中获取所述第一虚拟URL;从所述第一虚拟URL中截取所述第一虚拟Action。
在一些可能的实现方式中,所述拦截器301还用于根据所述第一虚拟Action和预定关键词获取所述第一真实URL。
在一些可能的实现方式中,所述拦截器301还用于:检测所述第一请求是否需要加密;若所述第一请求需要加密,则对所述第一请求对应的数据进行加密操作;使用授权码和所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
在一些可能的实现方式中,所述拦截器301还用于:发送所述第二请求;接收响应数据并发送至网络请求者303,以使所述网络请求者303将所述响应数据发送至所述第一设备。
在一些可能的实现方式中,所述拦截器301还用于:接收所述响应数据;检测所述响应数据是否加密;若所述响应数据加密,则对所述响应数据进行解密操作并将解密后的响应数据发送至所述网络请求者303。
参见图12,本申请实施例还提供了一种电子设备3,电子设备3包括至少一个存储器31、至少一个处理器32以及连接不同平台系统的总线33。
存储器31可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)311和/或高速缓存存储器312,还可以进一步包括只读存储器(ROM)313。
其中,存储器31还存储有计算机程序,程序产品4可以被处理器32执行,使得处理器32执行本申请实施例中接口封装处理方法的步骤(如图1所示)。存储器31还可以包括具有一组(至少一个)程序模块315的程序/实用工具314,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
相应的,处理器32可以执行上述的程序产品4,以及可以执行程序/实用工具314。
总线33可以为表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
电子设备3也可以与一个或多个外部设备34例如键盘、指向设备、蓝牙设备等通信,还可与一个或者多个能够与该电子设备3交互的设备通信,和/或与使得该电子设备3能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,电子设备3还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器36可以通过总线33与电子设备3的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备3使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,所述计算机程序被执行时实现本申请实施例中接口封装处理方法的步骤(如图1所示)。图13示出了本实施例提供的用于实现上述方法的程序产品4,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品4不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。程序产品4可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言诸如Java、C++等,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本申请从使用目的上,效能上,进步及新颖性等观点进行阐述,其设置有的实用进步性,已符合专利法所强调的功能增进及使用要件,本申请以上的说明及附图,仅为本申请的较佳实施例而已,并非以此局限本申请,因此,凡一切与本申请构造,装置,特征等近似、雷同的,即凡依本申请专利申请范围所作的等同替换或修饰等,皆应属本申请的专利申请保护的范围之内。

Claims (10)

1.一种接口封装处理方法,其特征在于,所述方法包括:
拦截网络请求接口封装者发送的封装后的第一请求,所述网络请求接口封装者用于响应于第一设备发送的包含第一真实URL的第一请求,使用所述第一真实URL对应的第一虚拟Action对所述第一请求进行接口封装并发送;
从所述第一请求中获取所述第一虚拟Action;
根据所述第一虚拟Action获取所述第一真实URL;
使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
2.根据权利要求1所述的接口封装处理方法,其特征在于,所述第一虚拟Action是从所述第一真实URL中截取的。
3.根据权利要求1所述的接口封装处理方法,其特征在于,所述第一请求包含第一虚拟URL;
所述从所述第一请求中获取所述第一虚拟Action,包括:
从所述第一请求中获取所述第一虚拟URL;
从所述第一虚拟URL中截取所述第一虚拟Action。
4.根据权利要求1所述的接口封装处理方法,其特征在于,所述根据所述第一虚拟Action获取所述第一真实URL,包括:
根据所述第一虚拟Action和预定关键词获取所述第一真实URL。
5.根据权利要求1所述的接口封装处理方法,其特征在于,所述使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求之前,所述方法还包括:
检测所述第一请求是否需要加密;
若所述第一请求需要加密,则对所述第一请求对应的数据进行加密操作;
所述使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求,包括:
使用授权码和所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
6.根据权利要求1所述的接口封装处理方法,其特征在于,所述方法还包括:
发送所述第二请求;
接收响应数据并发送至网络请求者,以使所述网络请求者将所述响应数据发送至所述第一设备。
7.根据权利要求6所述的接口封装处理方法,其特征在于,所述接收响应数据并发送至网络请求者,包括:
接收所述响应数据;
检测所述响应数据是否加密;
若所述响应数据加密,则对所述响应数据进行解密操作并将解密后的响应数据发送至所述网络请求者。
8.一种接口封装处理装置,其特征在于,所述装置包括:
拦截模块,用于拦截网络请求接口封装者发送的封装后的第一请求,所述网络请求接口封装者用于响应于第一设备发送的包含第一真实URL的第一请求,使用所述第一真实URL对应的第一虚拟Action对所述第一请求进行接口封装并发送;
第一获取模块,用于从所述第一请求中获取所述第一虚拟Action;
第二获取模块,用于根据所述第一虚拟Action获取所述第一真实URL;
封装模块,用于使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
9.一种接口封装处理系统,其特征在于,所述系统包括拦截器、网络请求接口封装者和网络请求者;
所述网络请求者用于接收第一设备发送的包含第一真实URL的第一请求并发送至所述网络请求接口封装者;
所述网络请求接口封装者用于响应于所述第一请求,使用所述第一真实UR L对应的第一虚拟Action对所述第一请求进行接口封装并发送至所述网络请求者;
所述拦截器用于拦截所述网络请求接口封装者发送的封装后的第一请求;从所述第一请求中获取所述第一虚拟Action;根据所述第一虚拟Action获取所述第一真实URL;使用所述第一真实URL对应的第一真实Action对所述第一请求进行接口封装并创建第二请求。
10.根据权利要求9所述的接口封装处理系统,其特征在于,所述网络请求者是OkHttp框架,所述网络请求接口封装者是Retrofit框架。
CN202010649467.4A 2020-07-08 2020-07-08 接口封装处理方法、装置及系统 Active CN111782990B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010649467.4A CN111782990B (zh) 2020-07-08 2020-07-08 接口封装处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010649467.4A CN111782990B (zh) 2020-07-08 2020-07-08 接口封装处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111782990A CN111782990A (zh) 2020-10-16
CN111782990B true CN111782990B (zh) 2024-03-19

Family

ID=72759092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010649467.4A Active CN111782990B (zh) 2020-07-08 2020-07-08 接口封装处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111782990B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385615B1 (en) * 1999-05-21 2002-05-07 Cisco Technology, Inc. Communicating network information using universal resource locators
CN107196936A (zh) * 2017-05-19 2017-09-22 广东万丈金数信息技术股份有限公司 接口转发方法、系统、计算机设备和存储介质
CN109086402A (zh) * 2018-07-31 2018-12-25 武汉斗鱼网络科技有限公司 Android中弹幕头像URL的获取方法
CN109635215A (zh) * 2018-12-21 2019-04-16 百度在线网络技术(北京)有限公司 编码安全检测方法、装置、终端及可读存储介质
CN109688202A (zh) * 2018-12-04 2019-04-26 北京腾云天下科技有限公司 一种接口数据的处理方法、装置、计算设备及存储介质
CN110795646A (zh) * 2019-09-30 2020-02-14 北京奇艺世纪科技有限公司 请求处理方法、装置、电子设备和计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385615B1 (en) * 1999-05-21 2002-05-07 Cisco Technology, Inc. Communicating network information using universal resource locators
CN107196936A (zh) * 2017-05-19 2017-09-22 广东万丈金数信息技术股份有限公司 接口转发方法、系统、计算机设备和存储介质
CN109086402A (zh) * 2018-07-31 2018-12-25 武汉斗鱼网络科技有限公司 Android中弹幕头像URL的获取方法
CN109688202A (zh) * 2018-12-04 2019-04-26 北京腾云天下科技有限公司 一种接口数据的处理方法、装置、计算设备及存储介质
CN109635215A (zh) * 2018-12-21 2019-04-16 百度在线网络技术(北京)有限公司 编码安全检测方法、装置、终端及可读存储介质
CN110795646A (zh) * 2019-09-30 2020-02-14 北京奇艺世纪科技有限公司 请求处理方法、装置、电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN111782990A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
US11520912B2 (en) Methods, media, apparatuses and computing devices of user data authorization based on blockchain
KR102264288B1 (ko) 클라우드 기반 운영 체제 이벤트 및 데이터 액세스 감시를 위한 시스템 및 방법
US11120018B2 (en) Spark query method and system supporting trusted computing
US11178112B2 (en) Enforcing security policies on client-side generated content in cloud application communications
US8769127B2 (en) Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT)
US9213867B2 (en) Secure cloud database platform with encrypted database queries
US9015845B2 (en) Transit control for data
IL275042A (en) Security monitoring Level of application programming programming with self-adaptation
CN110032392B (zh) 服务治理方法及装置、存储介质和电子设备
US20020103811A1 (en) Method and apparatus for locating and exchanging clinical information
CN105940409A (zh) 网络服务沙箱系统
US20080082679A1 (en) Method and system for management protocol-based data streaming
US8386608B1 (en) Service scripting framework
US20180302399A1 (en) Protocol-Level Identity Mapping
CN111740826B (zh) 基于加密代理网关的加密方法、解密方法、装置及设备
US11017029B2 (en) Data transfer system, data transfer apparatus, data transfer method, and computer-readable recording medium
US12015502B2 (en) Artificial intelligence integration of third-party software into large-scale digital platforms
CN111782990B (zh) 接口封装处理方法、装置及系统
US11803786B2 (en) Enterprise integration platform
CN116244682A (zh) 数据库的访问方法、装置、设备以及存储介质
CN115270180A (zh) 日志存储、封装方法和装置
CN115469841A (zh) 一种应用于iOS终端的请求处理方法和装置
CN115250467A (zh) 数据处理方法、装置、电子设备和计算机可读存储介质
CN113535322A (zh) 一种表单校验方法和装置
CN113783835B (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
GR01 Patent grant
GR01 Patent grant