CN112422692A - 一种网络请求方法及相关装置 - Google Patents
一种网络请求方法及相关装置 Download PDFInfo
- Publication number
- CN112422692A CN112422692A CN202011326403.7A CN202011326403A CN112422692A CN 112422692 A CN112422692 A CN 112422692A CN 202011326403 A CN202011326403 A CN 202011326403A CN 112422692 A CN112422692 A CN 112422692A
- Authority
- CN
- China
- Prior art keywords
- network request
- request
- configuration
- attribute
- network
- 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
- 238000000034 method Methods 0.000 title claims abstract description 239
- 238000004590 computer program Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 15
- 238000007405 data analysis Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 238000003745 diagnosis Methods 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013024 troubleshooting Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及计算机领域,本申请提供一种网络请求方法及相关装置,在接收到网络请求后,创建网络请求对象;上述网络请求对象包括:配置属性、上述配置属性的配置方法、请求对象属性;上述配置方法的返回值为上述网络请求对象;在上述配置属性的默认值不满足需求的情况下,上述配置方法的返回值用于执行上述配置方法,得到自定义设置的配置属性的值;在接收到上述网络请求对象发送的包含上述请求对象属性和上述配置属性的值的网络请求指令后,执行网络请求指令,输出执行上述网络请求指令所获得的网络请求结果。将链式调用运用到网络请求中,设置配置属性默认值,为配置属性设置配置方法,便于用户以链式调用的方式自定义所需配置,简化代码。
Description
技术领域
本申请涉及程序设计领域,尤其涉及网络请求方法及相关装置。
背景技术
Alamofire框架是基于swift语言实现的超文本传输协议(Hyper Text TransferProtocol,HTTP)网络请求框架,专注于核心网络的实现,为开发者提供强大的HTTP的操控能力。
目前,iOS开发中Alamofire实现网络请求有两种方式,一种是单例形式,一个项目只创建一个请求,该请求为全局资源,这种方式会出现多个线程同时处理一个共享变量,导致数据有误差的情况,线程不安全。针对单例方式线程不安全的问题,又开发出多例形式的请求方式,每个请求用新的请求对象来处理,保证线程安全;该方式还通过自建请求对象实现自定义配置,配置完成后再发起请求,这种自定义配置方式的配置流程复杂,代码量大,使用起来很不方便,增加了上手难度、开发周期及维护成本。
因此,如何使Alamofire实现网络请求在简化流程的同时支持复杂场景的自定义成为了技术领域内重要的研究课题。
发明内容
基于此,有必要针对上述技术问题,提供一种网络请求方法及相关装置,以实现网络请求在简化流程的同时支持复杂场景的自定义需求。
第一方面,本申请提供一种网络请求方法,在接收到网络请求后,创建网络请求对象;上述网络请求对象包括:网络请求的配置属性、上述配置属性的配置方法、请求对象属性;上述配置方法的返回值为上述网络请求对象;在上述配置属性的默认值不满足需求的情况下,上述配置方法的返回值用于执行上述配置方法,得到自定义设置的上述配置属性的值;在接收到上述网络请求对象发送的包含了上述请求对象属性和上述配置属性的值的网络请求指令后,执行上述网络请求指令,输出执行上述网络请求指令所获得的网络请求结果。设置网络请求对象,为上述网络请求对象设置配置属性和设置配置方法,以及用一个请求对象属性保存网络请求框架提供的请求对象,将网络请求相关的配置和请求对象封装到一个网络请求对象中,并通过为配置属性设置默认值以及设置配置方法的方式,实现自定义设置所需配置,简化配置流程的同时,满足自定义需求。
实施第一方面提供的方法,通过设置网络请求方法流程,在需要进行网络请求时,启动上述网络请求方法流程即可实现网络请求。并将请求成功与失败的格式统一,有效的避免了两端不一致引起的各种问题。另外,为配置属性设置配置方法,便于用户以链式调用的方式自定义所需配置;设置配置默认值,便于用户只修改当前配置所需。再者,对每个配置方法传入的配置通过懒加载处理做属性存储,减少了每次使用都需要去重新创建的内存消耗,同一个地方方便后期字段更改维护,以及问题的排查。
结合第一方面,在一些实施例中,上述请求对象属性为请求对象,用于保存所使用的网络请求框架所提供的request对象。
结合第一方面,在一些实施例中,在上述创建网络请求对象之后,上述方法还包括:延时加载上述配置属性和上述请求对象属性。上述延时加载包括:对上述配置属性和上述请求对象属性做属性存储,将上述配置属性和上述请求对象属性设置为lazy懒加载类型,延时加载上述配置属性和上述请求对象属性,即数据在第一次使用时再去创建内存,减少请求数,并保存用于下次使用,减少了每次使用取重新创建的内存消耗,同一个地方方便后期字段更改维护,以及问题的排查。
结合第一方面,在一些实施例中,在上述创建网络请求对象之后,上述方法还包括:在接收到上述配置属性的自定义配置值后,执行上述配置方法,将上述配置属性的默认值修改为上述自定义配置值。通过为配置属性设置配置方法,实现以链式调用的方式自定义设置配置属性的值,满足自定义设置需求的同时流程简单且代码量少。
结合第一方面,在一些实施例中,上述创建网络请求对象包括:设置第一网络请求对象,继承上述第一网络请求对象创建第二网络请求对象,执行上述第二网络请求对象中的方法,创建上述第二网络请求对象的实例化网络请求对象,得到上述网络请求对象。采用设置网络请求父类,继承上述网络请求父类创建网络请求子类的方法,提高代码的复用性;并在网络请求子类中创建具体业务流程的请求方法,在上述请求方法中实例化上述请求子类对象,即为上述网络请求对象,通过该实例化的网络请求调用实例方法,实现一个方法干一件事情,代码逻辑性强、简洁易读。
结合第一方面,在一些实施例中,上述执行上述网络请求指令,输出执行上述网络请求指令所获得的网络请求结果,包括:执行上述第二网络请求对象中的网络请求方法,得到上述网络请求结果。采用归类封装的思想,将请求和请求结果都放到请求方法中,需要用到的时候调用请求方法即可发起网络请求,代码复用性强。
结合第一方面,在一些实施例中,上述网络请求结果包括:在请求失败的情况下,输出异常报告;上述输出异常报告包括:在当前网络状态码为无网络的状态码的情况下,输出网络异常;在上述网络请求状态码为请求出错的状态码的情况下,输出服务器连接失败;在上述网络请求状态码为请求成功的状态码、可选绑定指示数据解析出错的情况下,输出服务器连接成功,数据解析错误或数据类型不对。请求成功、失败格式统一,有效避免两端不一致引起的各种问题,也便于在出错时快速定位错误原因。
结合第一方面,在一些实施例中,在上述创建网络请求对象之后,上述方法还包括:执行上述配置方法,将上述网络请求对象的网络请求地址的属性值赋值为上述网络请求的请求地址值,在上述请求地址值为空的情况下,停止执行上述网络请求指令。网络请求对象包含请求地址,网络请求地址的属性值不设置默认值,是发起请求时才设置的,其不为空,为空则报异常,结束请求。
结合第一方面,在一些实施例中,在上述执行上述网络请求指令之前,还包括:执行上述网络请求方法,接收上述网络请求的请求地址值,在上述请求地址值为空的情况下,停止执行上述网络请求指令。网络请求对象不包含请求地址,请求地址作为请求方法的形参,在请求对象发出请求指令时,传入请求地址实参,在请求地址实参不为空的情况下,执行网络请求指令。
结合第一方面,在一些实施例中,当网络请求对象包含网络请求地址时,上述配置属性包括:网络请求地址url、请求体body、请求头Header、成功、失败、日志信息、队列,加密方式、是否在主线程返回、打印请求信息几大类。当网络请求对象不包含网络请求地址时,上述配置属性包括:请求体body、请求头Header、成功、失败、日志信息、队列,加密方式、是否在主线程返回、打印请求信息几大类。
结合第一方面,在一些实施例中,上述网络请求的请求类型包括get、head、post、patch、put、delete、connect、options、trace。其中,get请求指定的页面信息,并返回实体主体,get请求提交的数据放置在HTTP请求协议头中,get方法通过请求地址来传递用户的输入;head请求返回的响应中没有具体的内容,用于获取报头;post请求为向服务器提交数据,请求数据在报文请求体中,发送一个修改数据的请求,需求数据要全部重新创建;patch为向服务器提交数据,发送一个修改数据的请求,需求数据部分更新;put请求为从客户端向服务器传送的数据取代指定的文档的内容;delete请求为请求服务器删除指定的页面;connect请求为HTTP协议中预留给能够将连接改为管道方式的代理服务器;options请求为客户端请求查看服务器的性能;trace为回显服务器收到的请求,主要用于测试或诊断。
结合第一方面,在一些实施例中,上述网络请求结果,还包括:在请求成功的情况下,调用成功回调方法,将请求状态码code赋值为对应的请求成功的状态码,请求消息message赋值为“success”,且返回请求数据data,上述data为泛型。
第二方面,本申请提供一种网络请求装置,该装置包括:
创建单元,用于在接收到网络请求后,创建网络请求对象;上述网络请求对象包括:网络请求的配置属性、上述配置属性的配置方法、请求对象属性;所述请求对象属性为网络请求框架提供的请求对象;上述配置方法的返回值为上述网络请求对象;在上述配置属性的默认值不满足需求的情况下,上述配置方法的返回值用于执行上述配置方法,得到自定义设置的上述配置属性的值;
输出单元,用于在接收到上述网络请求对象发送的包含了上述请求对象属性和上述配置属性的值的网络请求指令后,执行上述网络请求指令,输出执行上述网络请求指令所获得的网络请求结果。
结合第二方面,在一些实施例中,上述装置还包括:数据加载单元,用于在上述创建网络请求对象之后,延时加载上述配置属性和上述请求对象属性。上述延时加载包括:对上述配置属性和上述请求对象属性做属性存储,将上述配置属性和上述请求对象属性设置为lazy懒加载类型,懒加载处理上述配置属性和上述请求对象属性,在第一次使用时再去创建内存,减少请求数,并保存用于下次使用,减少了每次使用取重新创建的内存消耗,同一个地方方便后期字段更改维护,以及问题的排查。
结合第二方面,在一些实施例中,上述装置还包括:修改单元,用于在上述创建网络请求对象之后,在接收到上述配置属性的自定义配置值后,执行上述配置方法,将上述配置属性的默认值修改为上述自定义配置值。通过为配置属性设置配置方法,实现以链式调用的方式自定义设置配置属性的值,满足自定义设置需求的同时流程简单且代码量少。
结合第二方面,在一些实施例中,上述创建单元,用于创建上述网络请求对象,包括:设置第一网络请求对象,继承上述第一网络请求对象创建第二网络请求对象,执行上述第二网络请求对象中的方法,创建上述第二网络请求对象的实例化网络请求对象,得到上述网络请求对象。采用设置网络请求父类,继承上述网络请求父类创建网络请求子类的方法,提高代码的复用性;并在网络请求子类中设置具体业务流程的请求方法,在上述请求方法中实例化上述请求子类对象,该实例化的请求对象即为上述网络请求对象,通过该实例化的网络请求调用实例方法,实现一个方法干一件事情,代码逻辑性强、简洁易读。
结合第二方面,在一些实施例中,上述输出单元,用于执行上述网络请求指令,输出执行上述网络请求指令所获得的网络请求结果,包括:执行上述第二网络请求对象中的网络请求方法,得到上述网络请求结果。采用归类封装的思想,将请求和请求结果都放到请求方法中,需要用到的时候调用请求方法即可发起网络请求,代码复用性强。
结合第二方面,在一些实施例中,上述输出单元,用于输出执行上述网络请求指令所获得的网络请求结果,包括:在请求失败的情况下,输出异常报告;上述输出异常报告包括:在当前网络状态码为无网络的状态码的情况下,输出网络异常;在上述网络请求状态码为请求出错的状态码的情况下,输出服务器连接失败;在上述网络请求状态码为请求成功的状态码、可选绑定指示数据解析出错的情况下,输出服务器连接成功,数据解析错误或数据类型不对。
结合第二方面,在一些实施例中,上述装置还包括:
执行单元,用于在上述创建网络请求对象之后,执行上述配置方法,将上述网络请求对象的网络请求地址的属性值赋值为上述网络请求的请求地址值,在上述请求地址值为空的情况下,停止执行上述网络请求指令。网络请求对象包含请求地址,网络请求地址的属性值不设置默认值,是发起请求时才设置的,其不为空,为空则报异常,结束请求。
结合第二方面,在一些实施例中,上述装置还包括:
执行单元,用于在上述执行上述网络请求指令之前,执行上述网络请求方法,接收上述网络请求的请求地址值,在上述请求地址值为空的情况下,停止执行上述网络请求指令。网络请求对象不包含请求地址,请求地址作为请求方法的形参,在请求对象发出请求指令时,传入请求地址实参,在请求地址实参不为空的情况下,执行网络请求指令。
结合第二方面,在一些实施例中,当网络请求对象包含网络请求地址时,上述配置属性包括:网络请求地址url、请求体body、请求头Header、成功、失败、日志信息、队列,加密方式、是否在主线程返回、打印请求信息几大类。当网络请求对象不包含网络请求地址时,上述配置属性包括:请求体body、请求头Header、成功、失败、日志信息、队列,加密方式、是否在主线程返回、打印请求信息几大类。
结合第二方面,在一些实施例中,上述网络请求的请求类型包括get、head、post、patch、put、delete、connect、options、trace。其中,get请求指定的页面信息,并返回实体主体,get请求提交的数据放置在http请求协议头中,get方法通过请求地址来传递用户的输入;head请求返回的响应中没有具体的内容,用于获取报头;post请求为向服务器提交数据,请求数据在报文请求体中,发送一个修改数据的请求,需求数据要全部重新创建;patch为向服务器提交数据,发送一个修改数据的请求,需求数据部分更新;put请求为从客户端向服务器传送的数据取代指定的文档的内容;delete请求为请求服务器删除指定的页面;connect请求为HTTP协议中预留给能够将连接改为管道方式的代理服务器;options请求为客户端请求查看服务器的性能;trace为回显服务器收到的请求,主要用于测试或诊断。
结合第二方面,在一些实施例中,上述网络请求结果,还包括:在请求成功的情况下,调用成功回调方法,将请求状态码code赋值为对应的请求成功的状态码,请求消息message赋值为“success”,且返回请求数据data,上述data为泛型。
第三方面,本申请提供一种计算机设备,包括:存储器、处理器,其中,该存储器存储有程序指令;该程序指令被该处理器执行时,使该处理器执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序;当该计算机程序在一个或多个处理器上运行时,使得该终端设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
第五方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在终端设备上运行时,使得该终端设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
实施本申请提供的技术方案,以链式调用的方式自定义设置配置属性的值;给配置属性设置默认值,只需修改当前配置所需;数据加载采用延时加载的方式,减少内存消耗。通过设置配置方法和属性存储相结合的方式,减少内存消耗,且在满足自定义配置的同时简化流程,减少代码量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的终端设备的结构示意图;
图2为本申请实施例提供的一种网络请求的方法流程的示意图;
图3为本申请实施例提供的第一网络请求对象所包含的内容的示意图;
图4a为本申请实施例提供的一种创建网络请求对象的流程示意图;
图4b为本申请实施例提供的第二网络请求对象所包含的内容的示意图;
图4c为本申请实施例提供的网络请求方法所包含的内容的示意图;
图5为本申请实施例提供的一种执行网络请求方法的流程示意图;
图6为本申请实施例提供的装置示意图;
图7为本申请实施例中网络请求的请求地址作为网络请求对象的配置属性的网络请求方法流程示意图;
图8为本申请实施例中网络请求的请求地址作为网络请求方法中的实参的网络请求方法流程示意图。
具体实施方式
下面结合附图对本发明作进一步详细描述。
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。
在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
本申请实施例提供了一种网络请求方法,为了更清楚地描述本申请的方案,下面先介绍一些与本方案网络请求相关的知识。
http网络请求:是指从客户端到服务器端的请求消息。包括:消息首行中,对资源的请求方法、资源的标识符及使用的协议。其请求格式为当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成:(1)请求方法URI协议/版本,请求的第一行是“方法URI协议/版本”;(2)请求头(Request Header),请求头包含许多有关的客户端环境和请求正文的有用信息;(3)请求正文,请求头和请求正文之间是一个空行,它表示请求头已经结束。
延时加载:lazy load,即延时加载,也称为懒加载,延时加载机制是为了避免一些无谓的性能开销而提出来的,所谓延时加载就是当在真正需要数据的时候,才真正执行数据加载操作。第一次使用的时候再去创建内存,减少请求数,并保存用于下次使用,减少了每次使用取重新创建的内存消耗,同一个地方方便后期字段更改维护,以及问题的排查。
链式调用:将方法的返回对象设置为当前调用对象,在方法时执行完后会返回当前执行对象,下次调用时不需再指明方法的所属对象,直接链式调用即可,一次调用,多次使用。相比于传统的调用方式,链式调用方式代码简洁,可读性强。
继承:继承就是子类继承父类的特征和行为,使得实例化的子类对象具有父类的属性和方法,或子类从父类继承方法,使得子类具有父类相同的行为,子类具有父类的属性和方法或者重新定义、追加属性和方法等。子类的创建可以增加新数据、新功能,可以继承父类的全部功能,但是不能选择性地继承父类的部分功能。继承可以使得子类别具有父类别的各种属性和方法,而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能。继承可以使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。
本申请提供的网络请求方法应用于服务端和客户端之间的网络请求,优选应用于在苹果公司开发的移动操作系统(iPhone Operation System,iOS)的移动客户端开发的网络请求,本申请将链式调用和属性存储结合到网络请求中的思想同样可以应用于安卓开发,或是网页端网络请求方式开发;不限开发语言,本方案优选swift语言,还可以是C++、Java等开发语言;请求框架优选Alamofire网络请求框架,还可以是其他主流框架。
下面介绍本申请以下实施例中提供的示例性终端设备100。
下面结合图1对终端设备的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行终端设备的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,所述存储器可以是易失性的,也可以是非易失性的.例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元130可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种菜单。显示单元140可包括显示面板141,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图1中,触控面板131与显示面板141是作为两个独立的部件来实现终端设备的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现终端设备的输入和输出功能。
终端设备还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端设备之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端设备,或者将音频数据输出至存储器120以便进一步处理。
WiFi属于短距离无线传输技术,终端设备通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块170,但是可以理解的是,其并不属于终端设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端设备还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,终端设备还可以包括摄像头、蓝牙模块等,在此不再赘述。
下面对本申请涉及的一些附图作进一步介绍。
请参阅图2,图2为本申请实施例提供的一种网络请求的方法流程的示意图。如图2所示,步骤201,在接收到网络请求后,创建网络请求对象;上述网络请求对象包括:网络请求的配置属性、上述配置属性的配置方法、请求对象属性;上述配置方法的返回值为上述网络请求对象。步骤202,在上述配置属性的默认值不满足需求的情况下,上述配置方法的返回值用于执行上述配置方法,得到自定义设置的上述配置属性的值。步骤203,接收到上述网络请求对象发送的包含了上述请求对象属性和上述配置属性的值的网络请求指令,步骤204,执行上述网络请求指令,步骤205,输出执行上述网络请求指令所获得的网络请求结果。设置网络请求对象,为上述网络请求对象设置配置属性和设置配置方法,以及用一个请求对象属性保存网络请求框架提供的请求对象,将网络请求相关的配置和请求对象封装到一个网络请求对象中,并通过为配置属性设置默认值以及设置配置方法的方式,实现自定义设置所需配置,简化配置流程的同时,满足自定义需求。
请参阅图3,图3为本申请实施例提供的第一网络请求对象所包含的内容的示意图。如图3所示,第一网络请求对象包括:网络请求的配置属性、上述配置属性的配置方法、请求对象属性。在本申请可选实施例中,当网络请求对象包含网络请求地址时,上述配置属性包括:网络请求地址url、请求体body、请求头Header、成功、失败、日志信息、队列,加密方式、是否在主线程返回、打印请求信息几大类。当网络请求对象不包含网络请求地址时,上述配置属性包括:请求体body、请求头Header、成功、失败、日志信息、队列,加密方式、是否在主线程返回、打印请求信息几大类。在网络请求地址作为网络请求对象的其中一个配置属性的时候,步骤301,上述配置属性中,除了网络请求地址属性之外,其他配置属性均设置有默认值。步骤302,上述配置方法,返回当前对象,是链式调用的基础,执行完方法后,返回当前对象,该当前对象作为下一次调用的对象,实现一次调用,多次使用;在上述配置属性的默认值不满足需求的情况下,通过调用上述配置方法,传入自定义配置值,将上述配置属性的默认值修改为上述自定义配置值,实现自定义设置所需配置。步骤303,上述请求对象属性为请求对象,用于保存所使用的网络请求框架提供的请求对象。步骤304对上述配置属性和上述请求对象属性做属性存储,具体为对上述配置属性和上述请求对象属性做懒加载处理,将上述配置属性和上述请求对象属性设置为lazy懒加载类型,延时加载上述配置属性和上述请求对象属性,在第一次使用时再去创建内存,减少请求数,并保存用于下次使用,减少了每次使用取重新创建的内存消耗,同一个地方方便后期字段更改维护,以及问题的排查。将网络请求的相关配置和请求对象封装到一个网络请求对象中,对配置属性设置默认值,并对配置属性设置配置方法,通过链式调用的方式实现自定义设置所需配置属性的值,延时加载上述配置属性和上述网络请求对象属性,将方法调用和属性存储的方式结合,简化流程的同时满足复杂场景的自定义需求。
请参阅图4a,图4a为本申请实施例提供的一种创建网络请求对象的流程示意图。如图4a所示,创建网络请求对象包括:步骤401,设置网络请求对象父类,上述网络请求对象父类即为如图1所示的第一网络请求对象,步骤402,继承上述网络请求对象父类创建网络请求对象子类,上述网络请求对象的子类包含了父类的所有属性和方法,即为第二网络请求对象;如图4b所示,步骤403,在上述网络请求对象子类中设置具体业务场景的请求方法,并执行上述请求方法,在上述请求方法中创建上述网络请求对象子类的实例化请求对象;该实例化请求对象即为上述网络请求对象。至此便完成了网络请求对象的创建。通过设置请求对象父类,继承请求对象父类创建请求子类的方式,提高了代码的可复用性。
请参阅图4b,图4b为本申请实施例提供的第二网络请求对象所包含的内容的示意图。如图4b所示,第二网络请求对象中包含网络请求方法和具体业务场景的请求方法。在上述具体业务场景的请求方法中调用上述网络请求方法,实现网络请求。如图4c所示,上述网络请求方法包括:步骤405,发起网络请求,上述网络请求的请求类型包括get、head、post、patch、put、delete、connect、options、trace。其中,get请求指定的页面信息,并返回实体主体,get请求提交的数据放置在http请求协议头中,get方法通过请求地址来传递用户的输入;步骤406,返回网络请求结果,上述请求结果中,在请求成功的情况下,调用成功回调方法,将请求状态码code赋值为对应的请求成功的状态码,请求消息message赋值为“success”,且返回请求数据data,上述data为泛型。在上述网络请求结果为请求失败的情况下,返回异常报告,上述表明请求失败原因的异常报告包括:在请求失败的情况下,输出异常报告;上述输出异常报告包括:在当前网络状态码为无网络的状态码的情况下,输出网络异常;在上述网络请求状态码为请求出错的状态码的情况下,输出服务器连接失败;在上述网络请求状态码为请求成功的状态码、可选绑定指示数据解析出错的情况下,输出服务器连接成功,数据解析错误或数据类型不对。请求成功、失败格式统一,有效避免两端不一致引起的各种问题,也便于在出错时快速定位错误原因。
请参阅图5,图5为本申请实施例提供的一种执行网络请求方法的流程示意图。如图5所示,步骤501,在上述第二网络请求对象的具体业务场景的请求方法中调用上述网络请求方法,步骤502,执行该网络请求方法,步骤503,得到网络请求结果。实现一个方法执行一个动作,提高代码复用性的同时代码逻辑性强、可读性佳。
另外,本申请实施例提供两种接收网络请求的请求地址值的方案,如图4a所示,网络请求地址包含于网络请求对象的配置属性中,步骤404在创建网络请求对象后,执行配置方法,将上述网络请求对象的网络请求地址的属性值赋值为上述网络请求的请求地址值。或者,如图5所示,网络请求地址以形参的方式存在于所示网络请求方法中,步骤504,在执行网络请求指令之前,还包括,接收上述网络请求的请求地址值的作为上述网络请求地址的实参,在该网络请求地址的实参不为空的情况下,继续执行请求任务,反之则结束请求任务。或者,上述网络请求地址也可以以形参的方式存在于其他与网络请求相关的请求方法中,本申请提供一种形参示范。
请参阅图6,图6为本申请实施例提供的装置示意图;如图6所示,该装置包括:创建单元601,用于在接收到网络请求后,创建网络请求对象;上述网络请求对象包括:网络请求的配置属性、上述配置属性的配置方法、请求对象属性;上述配置方法的返回值为上述网络请求对象;在上述配置属性的默认值不满足需求的情况下,上述配置方法的返回值用于执行上述配置方法,得到自定义设置的上述配置属性的值;输出单元602,用于在接收到上述网络请求对象发送的包含了上述请求对象属性和上述配置属性的值的网络请求指令后,执行上述网络请求指令,输出执行上述网络请求指令所获得的网络请求结果。在一些实施例中,上述装置还包括:数据加载单元603,用于在上述创建网络请求对象之后,延时加载上述配置属性和上述请求对象属性。在一些实施例中,上述装置还包括:修改单元604,用于在上述创建网络请求对象之后,在接收到上述配置属性的自定义配置值后,执行上述配置方法,将上述配置属性的默认值修改为上述自定义配置值。在一些实施例中,上述创建单元601,用于创建上述网络请求对象,包括:设置第一网络请求对象,继承上述第一网络请求对象创建第二网络请求对象,执行上述第二网络请求对象中的方法,创建上述第二网络请求对象的实例化网络请求对象,得到上述网络请求对象。在一些实施例中,上述输出单元602,用于执行上述网络请求指令,输出执行上述网络请求指令所获得的网络请求结果,包括:执行上述第二网络请求对象中的网络请求方法,得到上述网络请求结果。上述输出单元602,用于输出执行上述网络请求指令所获得的网络请求结果,包括:在请求失败的情况下,输出异常报告;上述输出异常报告包括:在当前网络状态码为无网络的状态码的情况下,输出网络异常;在上述网络请求状态码为请求出错的状态码的情况下,输出服务器连接失败;在上述网络请求状态码为请求成功的状态码、可选绑定指示数据解析出错的情况下,输出服务器连接成功,数据解析错误或数据类型不对。在一些实施例中,上述装置还包括:执行单元605,用于在上述创建网络请求对象之后,执行上述配置方法,将上述网络请求对象的网络请求地址的属性值赋值为上述网络请求的请求地址值,在上述请求地址值为空的情况下,停止执行上述网络请求指令。或者,在一些实施例中,上述装置还包括:执行单元605,用于在上述执行上述网络请求指令之前,执行上述网络请求方法,接收上述网络请求的请求地址值,在上述请求地址值为空的情况下,停止执行上述网络请求指令。
下面结合两个不同的使用场景,介绍需要进行网络请求时的具体处理流程。
(一)使用场景一:网络请求的请求地址作为网络请求对象的配置属性
本发明可选实施例中,如图7所示的方法流程示意图,该方法包括:步骤701,设置网络请求对象父类,即第一网络请求对象;步骤702,继承上述网络请求对象父类创建网络请求对象子类,即第二网络请求对象;步骤703,在上述网络请求对象子类中设置网络请求方法;步骤704,在上述网络请求子类中设置具体业务场景的请求方法;步骤705,调用上述具体业务场景的请求方法。
本发明可选实施例中,步骤701,上述设置网络请求对象父类包括:设置配置属性、设置网络请求对象属性、设置上述配置属性的配置方法、设置请求对象属性。上述配置属性包括:网络请求地址url、请求体body、请求头Header、成功、失败、日志信息、队列,加密方式、是否在主线程返回、打印请求信息几大类。在上述设置网络请求对象属性之后,还包括:除url以外,为上述配置属性设置默认值。在上述设置网络请求对象属性之后,还包括:对上述配置属性和上述网络请求对象属性做属性存储;上述属性存储包括:将上述配置属性和上述网络请求对象属性设置为lazy-懒加载类型,延时加载上述配置属性和上述网络请求对象属性。上述设置上述配置属性的配置方法包括:将上述配置方法设置为public类型,上述配置方法返回值为当前执行对象。上述请求对象属性为请求对象,用于保存Alamofire提供的request对象。将网络请求的相关配置信息和请求对象封装到一个网络请求对象中,对配置属性设置默认值,并对配置属性设置配置方法,通过链式调用的方式实现自定义设置所需配置属性的值,延时加载上述配置属性和上述网络请求对象属性,将方法调用和属性存储的方式结合,简化流程的同时满足复杂场景的自定义需求。
本发明可选实施例中,步骤703,上述设置网络请求方法包括:在上述网络请求子类中设置上述网络请求方法。上述网络请求方法包括:发起网络请求、返回网络请求结果。上述发起网络请求的请求类型包括get、head、post、patch、put、delete、connect、options、trace。其中,get请求指定的页面信息,并返回实体主体,get请求提交的数据放置在http请求协议头中,get方法通过请求地址来传递用户的输入;head请求返回的响应中没有具体的内容,用于获取报头;post请求为向服务器提交数据,请求数据在报文请求体中,发送一个修改数据的请求,需求数据要全部重新创建;patch为向服务器提交数据,发送一个修改数据的请求,需求数据部分更新;put请求为从客户端向服务器传送的数据取代指定的文档的内容;delete请求为请求服务器删除指定的页面;connect请求为HTTP协议中预留给能够将连接改为管道方式的代理服务器;options请求为客户端请求查看服务器的性能;trace为回显服务器收到的请求,主要用于测试或诊断。上述返回网络请求结果包括:在请求成功的情况下,调用成功回调方法,将请求状态码code赋值为对应的请求成功的状态码,请求消息message赋值为“success”,且返回请求数据data,上述data为泛型;上述请求结果中,在请求成功的情况下,调用成功回调方法,将请求状态码code赋值为对应的请求成功的状态码,请求消息message赋值为“success”,且返回请求数据data,上述data为泛型。在上述网络请求结果为请求失败的情况下,返回异常报告,上述表明请求失败原因的异常报告包括:在请求失败的情况下,输出异常报告;上述输出异常报告包括:在当前网络状态码为无网络的状态码的情况下,输出网络异常;在上述网络请求状态码为请求出错的状态码的情况下,输出服务器连接失败;在上述网络请求状态码为请求成功的状态码、可选绑定指示数据解析出错的情况下,输出服务器连接成功,数据解析错误或数据类型不对。网络请求结果中请求成功、失败格式统一,有效避免两端不一致引起的各种问题,也便于在出错时快速定位错误原因。
本发明可选实施例中,步骤704,上述设置具体业务场景的请求方法,包括:在上述具体业务场景的请求方法中创建上述网络请求子类的实例化请求对象,即创建网络请求对象;上述网络请求对象包含上述网络请求父类的所有属性和方法,包括配置属性、配置方法、请求对象属性。在上述创建网络请求对象之后,还包括:执行上述配置方法,设置请求地址的配置值;上述执行上述配置方法,设置网址或地址的配置值,包括:上述网络请求对象启动上述配置方法,传入网络请求的请求地址的值,将上述网络请求对象的请求地址的属性值赋值为上述网络请求的请求地址的值,更新上述网址或地址的配置值。在上述更新上述网址或地址的配置值之后,还包括:在上述网址或地址的属性值为空的情况下,返回空指针异常,结束请求任务。在上述更新上述网址或地址的属性值之前,还包括:在上述配置属性的默认值不满足需求的情况下,获取上述配置方法返回的当前对象,以链式调用的方式执行上述配置方法,传入自定义配置的值。在接收到上述网络请求对象发送的包含了上述请求对象属性和上述配置属性的值的网络请求指令后,执行上述网络请求指令,输出执行上述网络请求指令所获得的网络请求结果。
(二)使用场景二:网络请求的请求地址值作为网络请求方法中的实参
本发明可选实施例中,如图8所示的方法流程示意图,该方法包括:步骤801,设置网络请求对象父类,即第一网络请求对象;步骤802,继承上述网络请求对象父类创建网络请求对象子类,即第二网络请求对象,;步骤803,在上述网络请求对象子类中设置网络请求方法;步骤804,在上述网络请求子类中设置具体业务场景的请求方法;步骤805,执行上述具体业务场景的请求方法。
本发明可选实施例中,步骤801,上述设置网络请求对象父类,包括:设置配置属性、设置网络请求对象属性、设置上述配置属性的配置方法、设置请求对象属性。上述配置属性包括:请求体body、请求头Header、成功、失败、日志信息、队列,加密方式、是否在主线程返回、打印请求信息几大类;在上述设置网络请求对象属性之后,还包括:为上述配置属性设置默认值;在上述设置网络请求对象属性之后,还包括:对上述配置属性和上述网络请求对象属性做属性存储;上述属性存储包括:对上述配置属性和上述网络请求对象属性做懒加载处理,延时加载上述配置属性和上述网络请求对象属性。上述设置上述配置属性的配置方法,包括:将上述配置方法设置为public类型,上述配置方法返回值为当前执行对象。上述请求对象属性为请求对象,用于保存Alamofire提供的request对象。
本发明可选实施例中,步骤803,上述设置网络请求方法包括:在上述网络请求子类中设置上述网络请求方法。上述网络请求方法流程包括:接收请求地址的实参、发起网络请求、返回网络请求结果。在上述接收请求地址属性的实参之后,还包括:在上述实参为空的情况下,返回空指针异常,结束请求任务。上述发起网络请求的请求类型包括get、head、post、patch、put、delete、connect、options、trace。其中,get请求指定的页面信息,并返回实体主体,get请求提交的数据放置在http请求协议头中,get方法通过请求地址来传递用户的输入;head请求返回的响应中没有具体的内容,用于获取报头;post请求为向服务器提交数据,请求数据在报文请求体中,发送一个修改数据的请求,需求数据要全部重新创建;patch为向服务器提交数据,发送一个修改数据的请求,需求数据部分更新;put请求为从客户端向服务器传送的数据取代指定的文档的内容;delete请求为请求服务器删除指定的页面;connect请求为HTTP协议中预留给能够将连接改为管道方式的代理服务器;options请求为客户端请求查看服务器的性能;trace为回显服务器收到的请求,主要用于测试或诊断。上述返回网络请求结果包括:在请求成功的情况下,调用成功回调方法,将请求状态码code赋值为对应的请求成功的状态码,请求消息message赋值为“success”,且返回请求数据data,上述data为泛型;在请求失败的情况下,调用失败回调方法,返回异常报告;上述返回异常报告包括:在当前网络状态码为无网络的状态码的情况下,返回网络异常;在上述code请求状态码为请求出错的状态码的情况下,返回服务器连接失败;在上述code请求状态码为请求成功的状态码、可选绑定指示数据解析出错的情况下,返回服务器连接成功,数据解析错误或数据类型不对。
本发明可选实施例中,步骤804,上述设置具体业务场景的请求方法,包括:在上述具体业务场景的请求方法中创建上述网络请求子类的实例化请求对象,即创建网络请求对象;执行上述配置方法,传入自定义配置。上述启动上述配置方法,传入自定义配置,包括:在上述配置属性的默认值不满足需求的情况下,上述实例化请求对象以链式调用的方式执行上述配置方法,传入自定义配置,更新上述配置属性。在上述更新上述配置属性之前,还包括:获取上述配置方法返回的当前对象,以链式调用的方式启动上述配置方法,传入自定义配置。在接收到上述网络请求对象发送的包含了上述请求对象属性和上述配置属性的值的网络请求指令后,执行上述网络请求指令,输出执行上述网络请求指令所获得的网络请求结果。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (10)
1.一种网络请求方法,其特征在于,所述方法包括:
在接收到网络请求后,创建网络请求对象;所述网络请求对象包括:网络请求的配置属性、所述配置属性的配置方法、请求对象属性;所述请求对象属性为网络请求框架提供的请求对象;所述配置方法的返回值为所述网络请求对象;在所述配置属性的默认值不满足需求的情况下,所述配置方法的返回值用于执行所述配置方法,得到自定义设置的所述配置属性的值;
在接收到所述网络请求对象发送的包含了所述请求对象属性和所述配置属性的值的网络请求指令后,执行所述网络请求指令,输出执行所述网络请求指令所获得的网络请求结果。
2.如权利要求1所述的方法,其特征在于,在所述创建网络请求对象之后,所述方法还包括:延时加载所述配置属性和所述请求对象属性。
3.如权利要求1或2所述的方法,其特征在于,在所述创建网络请求对象之后,所述方法还包括:在接收到所述配置属性的自定义配置值后,执行所述配置方法,将所述配置属性的默认值修改为所述自定义配置值。
4.如权利要求3所述的方法,其特征在于,在所述创建网络请求对象之后,所述方法还包括:执行所述配置方法,将所述网络请求对象的网络请求地址的属性值赋值为所述网络请求的请求地址值,在所述网络请求地址的属性值为空的情况下,停止执行所述网络请求指令。
5.如权利要求3所述的方法,其特征在于,在所述执行所述网络请求指令之前,还包括:执行所述网络请求方法,接收所述网络请求的请求地址值,在所述请求地址值为空的情况下,停止执行所述网络请求指令。
6.如权利要求3所述的方法,其特征在于,所述创建网络请求对象包括:设置第一网络请求对象,继承所述第一网络请求对象创建第二网络请求对象,执行所述第二网络请求对象中的方法,创建所述第二网络请求对象的实例化网络请求对象,得到所述网络请求对象。
7.如权利要求3所述的方法,其特征在于,所述执行所述网络请求指令,输出执行所述网络请求指令所获得的网络请求结果,包括:执行所述第二网络请求对象中的网络请求方法,得到所述网络请求结果。
8.一种网络请求装置,其特征在于,包括:
创建单元,用于在接收到网络请求后,创建网络请求对象;所述网络请求对象包括:网络请求的配置属性、所述配置属性的配置方法、请求对象属性;所述请求对象属性为网络请求框架提供的请求对象;所述配置方法的返回值为所述网络请求对象;在所述配置属性的默认值不满足需求的情况下,所述配置方法的返回值用于执行所述配置方法,得到自定义设置的所述配置属性的值;
输出单元,用于在接收到所述网络请求对象发送的包含了所述请求对象属性和所述配置属性的值的网络请求指令后,执行所述网络请求指令,输出执行所述网络请求指令所获得的网络请求结果。
9.一种计算机设备,其特征在于,包括:存储器、处理器,其中,所述存储器存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序;当所述计算机程序在一个或多个处理器上运行时,执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011326403.7A CN112422692A (zh) | 2020-11-23 | 2020-11-23 | 一种网络请求方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011326403.7A CN112422692A (zh) | 2020-11-23 | 2020-11-23 | 一种网络请求方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112422692A true CN112422692A (zh) | 2021-02-26 |
Family
ID=74777472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011326403.7A Pending CN112422692A (zh) | 2020-11-23 | 2020-11-23 | 一种网络请求方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112422692A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038219A (zh) * | 2017-03-17 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | iOS中加载GIF动画的方法及装置 |
US20180357274A1 (en) * | 2017-06-07 | 2018-12-13 | Sap Se | Dynamic, variable-data attribute data service |
CN110598155A (zh) * | 2019-09-17 | 2019-12-20 | 北京锐安科技有限公司 | 一种Ajax请求调用方法、装置、计算机设备及存储介质 |
CN111294377A (zh) * | 2018-12-10 | 2020-06-16 | 武汉斗鱼网络科技有限公司 | 一种依赖关系的网络请求发送方法、终端装置及存储介质 |
-
2020
- 2020-11-23 CN CN202011326403.7A patent/CN112422692A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038219A (zh) * | 2017-03-17 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | iOS中加载GIF动画的方法及装置 |
US20180357274A1 (en) * | 2017-06-07 | 2018-12-13 | Sap Se | Dynamic, variable-data attribute data service |
CN111294377A (zh) * | 2018-12-10 | 2020-06-16 | 武汉斗鱼网络科技有限公司 | 一种依赖关系的网络请求发送方法、终端装置及存储介质 |
CN110598155A (zh) * | 2019-09-17 | 2019-12-20 | 北京锐安科技有限公司 | 一种Ajax请求调用方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106970790B (zh) | 一种应用程序创建的方法、相关设备及系统 | |
CN112257135B (zh) | 一种基于多线程的模型加载方法、装置、存储介质及终端 | |
CN111176961B (zh) | 一种应用程序测试方法、装置及存储介质 | |
CN107040609B (zh) | 一种网络请求处理方法和装置 | |
CN108039963B (zh) | 一种容器配置方法、装置及存储介质 | |
CN112882772B (zh) | 移动终端应用界面的配置方法、移动终端及存储介质 | |
CN107391768B (zh) | 网页数据处理方法、装置、设备及计算机可读存储介质 | |
CN110020293B (zh) | 多媒体数据展示方法、装置及存储介质 | |
CN109800030B (zh) | 一种应用程序运行方法、装置及终端 | |
CN105955739A (zh) | 一种图形界面的处理方法、装置和系统 | |
CN113613064A (zh) | 视频处理方法、装置、存储介质及终端 | |
CN112000566A (zh) | 测试用例的生成方法及装置 | |
CN108182090B (zh) | 基于blink内核的Flash插件加载方法及装置 | |
CN114327087A (zh) | 输入事件处理方法、装置、电子设备和存储介质 | |
CN112328304B (zh) | 一种脚本适配方法、系统、设备及计算机存储介质 | |
CN110198324B (zh) | 数据监控方法、装置、浏览器及终端 | |
CN109145598B (zh) | 脚本文件的病毒检测方法、装置、终端及存储介质 | |
CN106230919B (zh) | 一种文件上传的方法和装置 | |
TWI815098B (zh) | Web請求處理方法、裝置、電子設備以及內儲程式之電腦可讀取記錄媒體 | |
JP6685538B2 (ja) | アプリケーション加速方法およびデバイス | |
CN109165197A (zh) | 一种文件处理方法、终端及服务器 | |
CN112422692A (zh) | 一种网络请求方法及相关装置 | |
CN115373865A (zh) | 一种并发线程管理方法、装置、电子设备和存储介质 | |
CN114510417A (zh) | 一种图像渲染效果测试方法、装置、电子设备和存储介质 | |
CN107315623B (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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240628 |
|
AD01 | Patent right deemed abandoned |