发起HTTP请求的方法及装置制造方法及图纸

技术编号:17974427 阅读:42 留言:0更新日期:2018-05-16 13:59
本发明专利技术公开了一种发起超文本传输协议HTTP请求的方法及装置,在上述方法中,在业务层与负责HTTP请求的模块之间构建框架,其中,该框架包括:HTTP工厂类及HTTP请求框架接口;HTTP工厂类创建各种HTTP请求库基于HTTP请求框架接口实现类的实例,并将HTTP请求框架接口返回给业务层;在程序启动时,业务层根据当前HTTP请求库选择并调用HTTP请求框架接口向服务器发起HTTP请求。通过本发明专利技术提供的技术方案,在程序启动时选择不同的HTTP请求框架接口,从而可以保证仅需要修改少量代码,就能够向服务器发起HTTP请求。

【技术实现步骤摘要】
发起HTTP请求的方法及装置
本专利技术涉及通信领域,具体而言,涉及一种发起HTTP请求的方法及装置。
技术介绍
超文本传输协议(HyperTextTransferProtocol,简称为HTTP)是当今互联网应用最广的一种网络协议,客户端可通过HTTP协议向服务器发起请求,服务器根据请求返回对应的数据内容给客户端。随着近年互联网技术的高速发展,各种语言下实现HTTP协议的程序库也在不断进化完善,速度与效率在不断提升。一个在线上运行的程序也会随着行业的发展不断迭代改进,而负责HTTP请求的模块处于程序较为底层的模块,所有涉及HTTP请求的业务都会与其产生依赖。很多程序要更换速度更快、效率更高的HTTP库时,往往因为与其产生依赖的业务代码太多,修改量大,麻烦,风险大等现实问题而作罢。因此,如何在更换速度更快、效率更高的HTTP库时,能够大量减少对上层业务代码的修改是目前亟待解决的问题。
技术实现思路
本专利技术的主要目的在于公开了一种发起HTTP请求的方法及装置,以至少解决相关技术中在更换速度更快、效率更高的HTTP库时,能够大量减少对上层业务代码的修改,目前还缺乏相应技术方案的问题。根据本专利技术的一个方面,提供了一种发起HTTP请求的方法。根据本专利技术的发起HTTP请求的方法包括:在业务层与负责HTTP请求的模块之间构建框架,其中,上述框架包括:HTTP工厂类及HTTP请求框架接口;上述HTTP工厂类创建各种HTTP请求库基于HTTP请求框架接口实现类的实例,并将上述HTTP请求框架接口返回给上述业务层;在程序启动时,上述业务层根据当前HTTP请求库选择并调用HTTP请求框架接口向服务器发起HTTP请求。根据本专利技术的另一方面,提供了一种发起HTTP请求的装置。根据本专利技术的发起HTTP请求的装置包括:构建模块,用于在业务层与负责HTTP请求的模块之间构建框架,其中,上述框架包括:HTTP工厂类及HTTP请求框架接口;第一创建模块,用于触发上述HTTP工厂类创建各种HTTP请求库基于HTTP请求框架接口实现类的实例,并将上述HTTP请求框架接口返回给上述业务层;第一请求模块,用于在程序启动时,触发上述业务层根据当前HTTP请求库选择并调用HTTP请求框架接口向服务器发起HTTP请求。与现有技术相比,本专利技术实施例至少具有以下优点:在业务层与负责HTTP请求的模块之间构建一个框架,使得所有业务都通过该框架接口进行HTTP请求,面对不同的HTTP请求库,在遵循该框架接口的前提下提供对应的适配类。通过在程序启动时选择不同的HTTP请求框架接口,从而可以保证仅需要修改少量代码,就能够向服务器发起HTTP请求。附图说明图1是根据本专利技术实施例的发起HTTP请求的方法的流程图;图2是根据本专利技术优选实施例的框架的结构框图;图3是根据本专利技术实施例的发起HTTP请求的装置的结构框图;以及图4是根据本专利技术优选实施例的发起HTTP请求的装置的结构框图。具体实施方式下面结合说明书附图对本专利技术的具体实现方式做一详细描述。图1是根据本专利技术实施例的发起HTTP请求的方法的流程图。如图1所示,该发起HTTP请求的方法包括:步骤S101:在业务层与负责HTTP请求的模块之间构建框架,其中,上述框架包括:HTTP工厂类及HTTP请求框架接口;步骤S103:上述HTTP工厂类创建各种HTTP请求库基于HTTP请求框架接口实现类的实例,并将上述HTTP请求框架接口返回给上述业务层;步骤S105:在程序启动时,上述业务层根据当前HTTP请求库选择并调用HTTP请求框架接口向服务器发起HTTP请求。在业务层与负责HTTP请求的模块之间构建一个框架,使得所有业务都通过该框架接口进行HTTP请求,面对不同的HTTP请求库,在遵循该框架接口的前提下提供对应的适配类。通过在程序启动时选择不同的HTTP请求框架接口,从而可以保证仅需要修改少量代码,就能够向服务器发起HTTP请求。优选地,上述框架除了包括HTTP请求框架接口之外,还可以包括但不限于:用于创建上述HTTP请求的HTTP创建框架接口、HTTP响应框架接口、以及HTTP响应Body接口。优选地,上述框架除了包括:HTTP工厂类之外,还可以包括但不限于:上述HTTP工厂类在创建各种HTTP请求库基于HTTP请求框架接口实现类的实例时的初始化参数类、负责存储HTTP请求或响应中的Headers类、当发起HTTPGET请求时的查询字符串存储类、当发起HTTPPOST请求时需附带的Body类。其中,上述HTTP请求库可以为多种请求库,例如,okhttp请求库,Volley请求库,Retrofit请求库等。优选地,在上述业务层根据当前HTTP请求库选择并调用HTTP请求框架接口向服务器发起HTTP请求之后,还可以包括以下处理:上述服务器通过上述当前HTTP请求库,实现上述HTTP响应框架接口的实现类,并将上述HTTP响应框架接口返回给上述业务层,其中,在上述实现HTTP响应框架接口的实现类中,Body方法返回了实现上述HTTP响应Body接口的实现类。图2是根据本专利技术优选实施例的框架的结构框图。如图2所示,该框架包括的类如下:HttpFactory:Http工厂类,负责创建实现IHttp接口实现类的实例;HttpConfig:Http工厂类在创建实现IHttp接口实现类的实例时的初始化参数类;HttpHeaders:负责存储HTTP请求或响应中的Headers类;HttpQueryParams:当发起HTTPGET请求时的查询字符串存储类;HttpRequestBody:当发起HTTPPOST请求时需附带的Body类。如图2所示,该框架包括的接口如下:IHttp:框架接口,负责创建HTTP请求;IHttpRequest:框架接口,负责向服务器发起HTTP请求;IHttpResponse:框架接口,代表服务器返回的HTTP相应;IHttpResponseBody:框架接口,服务器返回的HTTP相应中的数据内容。其中,图2中所有接口(Interface)名均以I开头,图2中还示出了以okhttp请求库为例,所有接口的实现(Implement)类。具体如下:OkHttpImpl:OkHttp请求库对IHttp框架接口的适配实现类;OkHttpRequestImpl:OkHttp请求库对IHttpRequest框架接口的适配实现类;OkHttpResponseImpl:OkHttp请求库对IHttpResponse框架接口的适配实现类;OkHttpResponseBodyImpl:OkHttp请求库对IHttpResponseBody框架接口的适配实现类。这些接口的实现(Implement)类均包含Impl后缀,其余类均为简单类,本身无法单独存在,需与接口或实现产生依赖才能完成其职责。Http代表相关类,HTTP代表协议。本专利技术实施例的框架的实现依赖于面向对象编程语言中的“多态”,同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类或接口的指针,来调用派生类或实现类中的方法。在本框架设计中,HttpFactory负责通过HttpConfig创建适配不同Http请求库的实现类,并且以IH本文档来自技高网...
发起HTTP请求的方法及装置

【技术保护点】
一种发起超文本传输协议HTTP请求的方法,其特征在于,包括:在业务层与负责HTTP请求的模块之间构建框架,其中,所述框架包括:HTTP工厂类及HTTP请求框架接口;所述HTTP工厂类创建各种HTTP请求库基于HTTP请求框架接口实现类的实例,并将所述HTTP请求框架接口返回给所述业务层;在程序启动时,所述业务层根据当前HTTP请求库选择并调用HTTP请求框架接口向服务器发起HTTP请求。

【技术特征摘要】
1.一种发起超文本传输协议HTTP请求的方法,其特征在于,包括:在业务层与负责HTTP请求的模块之间构建框架,其中,所述框架包括:HTTP工厂类及HTTP请求框架接口;所述HTTP工厂类创建各种HTTP请求库基于HTTP请求框架接口实现类的实例,并将所述HTTP请求框架接口返回给所述业务层;在程序启动时,所述业务层根据当前HTTP请求库选择并调用HTTP请求框架接口向服务器发起HTTP请求。2.根据权利要求1所述的方法,其特征在于,所述框架还包括:用于创建所述HTTP请求的HTTP创建框架接口、HTTP响应框架接口、以及HTTP响应Body接口。3.根据权利要求2所述的方法,其特征在于,在所述业务层根据当前HTTP请求库选择并调用HTTP请求框架接口向服务器发起HTTP请求之后,还包括:所述服务器通过所述当前HTTP请求库,实现所述HTTP响应框架接口的实现类,并将所述HTTP响应框架接口返回给所述业务层,其中,在所述实现HTTP响应框架接口的实现类中,Body方法返回了实现所述HTTP响应Body接口的实现类。4.根据权利要求1所述的方法,其特征在于,所述框架还包括:所述HTTP工厂类在创建各种HTTP请求库基于HTTP请求框架接口实现类的实例时的初始化参数类、负责存储HTTP请求或响应中的Headers类、当发起HTTPGET请求时的查询字符串存储类、当发起HTTPPOST请求时需附带的Body类。5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:当所述当前HTTP请求库为新HTTP请求库时,在所述框架的HTTP工厂类中添加与所述新HTTP请求库对应的工厂方法;所述对应的工厂方法创建所述新增加的HTTP请求库基于所述HTTP请求框架接口实现类的实例,并将所述HTTP请求框架接口返回给所述业务层;在程序启动时,所述业务层根据所述新HTTP请求库选择并调用HTTP请求框架接口向服务器发起HTTP请求。6.一种发起超文本传输协...

【专利技术属性】
技术研发人员:段凌云陈正超余非
申请(专利权)人:贵阳语玩科技有限公司
类型:发明
国别省市:贵州,52

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1