CN109491802A - 一种基于Unity的RESTFul网络请求的方法及适配器 - Google Patents

一种基于Unity的RESTFul网络请求的方法及适配器 Download PDF

Info

Publication number
CN109491802A
CN109491802A CN201811176786.7A CN201811176786A CN109491802A CN 109491802 A CN109491802 A CN 109491802A CN 201811176786 A CN201811176786 A CN 201811176786A CN 109491802 A CN109491802 A CN 109491802A
Authority
CN
China
Prior art keywords
interface
information
restful
request
network request
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
CN201811176786.7A
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.)
Fujian Tianquan Educational Technology Ltd
Original Assignee
Fujian Tianquan Educational Technology 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 Fujian Tianquan Educational Technology Ltd filed Critical Fujian Tianquan Educational Technology Ltd
Priority to CN201811176786.7A priority Critical patent/CN109491802A/zh
Publication of CN109491802A publication Critical patent/CN109491802A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供的一种基于Unity的RESTFul网络请求的方法及适配器,通过适配器代理RESTFul接口,拦截调用所述RESTFul接口的接口方法,分别解析所述接口方法以及所述接口方法参数的特性注释;根据解析得到的信息组装网络请求并发送,将接口的开发过程转换为对接口的接口方法的编辑过程简化了开发流程,而且接口方法以及所述接口方法参数的特性注释的处理及组装统一在适配器进行,无需散布在不同的回调代码中,有利于提高组装效率,替换网络模块时无需重新编写接口代码,而且通过适配器统一处理响应结果,并根据所述响应结果进行回调处理,请求回调效率高。

Description

一种基于Unity的RESTFul网络请求的方法及适配器
技术领域
本发明涉及计算机技术领域,特别涉及一种基于Unity的RESTFul网络请求的方法及适配器。
背景技术
RESTFul接口架构多用于网站和移动APP的HTTP网络通信方案中,而Unity从诞生以来主要应用于游戏开发,游戏开发中使用较多的是实时性较高的Socket通信,导致Unity开发中对HTTP请求的支持较少,目前Unity开发中比较常见的HTTP网络请求有以下几种方案:
1、使用Unity官方提供的网络引擎UnityWebRequest,但UnityWebRequest只支持GET/PUT/POST/DELETE/HEAD方法,并不支持PATCH/UPDATA等其他方法,无法完全满足RESTFul的需求。
2、使用基于Unity的第三方网络模块,例如BestHttp模块,该方法主要存在以下2个问题:
2.1请求发送前需要做大量的准备工作,如拼接Url、RESTFul请求方法配置、请求参数处理(如序列化处理)等。
2.2 OnRequestFinished为请求回调委托方法,需要在其中进行错误信息处理,Response反序列化以及成功处理(如页面展示)等操作。
而且当请求接口达到一定数量,接口将变得很难维护。各种各样的Uri拼装代码,接口参数处理代码散布在工程的各个地方,且没有统一的格式和拼装方法;回调处理代码中包含的通用功能部分(如错误信息处理,Response反序列化)也散布在不同的回调代码中;如果项目替换网络模块,例如从官方引擎替换为BestHttp第三方网络模块,那么所有的接口都需要根据新的引擎(模块)重新编写对接一次。
发明内容
本发明所要解决的技术问题是:提供一种基于Unity的RESTFul网络请求的方法及适配器,替换网络模块时无需重新编写接口代码且请求回调效率高。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种基于Unity的RESTFul网络请求的方法,包括步骤:
S1、代理RESTFul接口,拦截调用所述RESTFul接口的接口方法;
S2、分别解析所述接口方法以及所述接口方法参数的特性注释;
S3、根据解析得到的信息组装网络请求并发送。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种基于Unity的RESTFul网络请求的适配器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、代理RESTFul接口,拦截调用所述RESTFul接口的接口方法;
S2、分别解析所述接口方法以及所述接口方法参数的特性注释;
S3、根据解析得到的信息组装网络请求并发送。
本发明的有益效果在于:通过适配器代理RESTFul接口,拦截调用所述RESTFul接口的接口方法,分别解析所述接口方法以及所述接口方法参数的特性注释;根据解析得到的信息组装网络请求并发送,将接口的开发过程转换为对接口的接口方法的编辑过程简化了开发流程,而且接口方法以及所述接口方法参数的特性注释的处理及组装统一在适配器进行,无需散布在不同的回调代码中,有利于提高组装效率,替换网络模块时无需重新编写接口代码,而且通过适配器统一处理响应结果,并根据所述响应结果进行回调处理,请求回调效率高。
附图说明
图1为本发明基于Unity的RESTFul网络请求的方法流程图;
图2为本发明基于Unity的RESTFul网络请求的适配器的结构示意图;
图3为本发明基于Unity的RESTFul网络请求的方法的整体流程图;
标号说明:
1、基于Unity的RESTFul网络请求的适配器; 2、存储器; 3、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:通过适配器代理RESTFul接口,拦截调用RESTFul接口的接口方法,分别解析接口方法以及接口方法参数的特性注释后,根据解析得到的信息组装网络请求并发送,替换网络模块时无需重新编写接口代码且请求回调效率高。
请参照图1,一种基于Unity的RESTFul网络请求的方法,包括步骤:
S1、代理RESTFul接口,拦截调用所述RESTFul接口的接口方法;
S2、分别解析所述接口方法以及所述接口方法参数的特性注释;
S3、根据解析得到的信息组装网络请求并发送。
从上述描述可知,本发明的有益效果在于:通过适配器代理RESTFul接口,拦截调用所述RESTFul接口的接口方法,分别解析所述接口方法以及所述接口方法参数的特性注释;根据解析得到的信息组装网络请求并发送,将接口的开发过程转换为对接口的接口方法的编辑过程简化了开发流程,而且接口方法以及所述接口方法参数的特性注释的处理及组装统一在适配器进行,无需散布在不同的回调代码中,有利于提高组装效率,替换网络模块时无需重新编写接口代码,而且通过适配器统一处理响应结果,并根据所述响应结果进行回调处理,请求回调效率高。
进一步的,步骤S2包括:
通过C#反射机制分别解析所述接口方法以及所述接口方法的特性注释。
由上述描述可知,通过C#反射机制分别解析所述接口方法以及所述接口方法的特性注释,使得负责对接具体业务接口的程序员不需要再关心网络包封装(包括Url拼接、方法配置、参数序列化等)、返回Response文本反序列化以及错误回调等具体过程,而转由适配器进行承接处理,即降低了开发时间成本,也提升产品质量。
进一步的,步骤S2包括:
S21、解析所述接口方法的特性注释,得到第一信息,所述第一信息包括请求方式、请求地址和请求head;
S22、解析所述接口方法参数的特性注释,得到第二信息,所述第二信息包括预设特性标签的参数信息。
由上述描述可知,通过解析接口方法的特性注释和接口方法参数的特性注释,便于后续适配器根据得到的信息组装网络请求并发送,提高了请求回调的效率。
进一步的,步骤S3包括:
根据所述第一信息和第二信息组装网络请求并发送至服务端,以使得服务端返回响应信息。
由上述描述可知,通过适配器根据第一信息和第二信息统一组装网络请求并发送至服务端,无需散布在不同的回调代码中,有利于提高组装效率且便于对不同接口的网络请求进行统一管理。
进一步的,步骤S3之后还包括:
S41、接收所述响应信息,并判断是否请求成功,若是,则执行步骤S42,否则,进行错误处理,并判断为回调失败;
S42、根据响应信息进行反序列化处理,若反序列化成功,则判断为回调成功,若反序列化失败,则进行错误处理,并判断为回调失败;
S43、根据回调结果进行回调。
由上述描述可知,通过对响应信息进行反序列化处理,便于得到与所述响应信息一致的实例对象,且准确性高,通过进行错误处理,便于后期调试跟踪错误原因并进行响应的处理。
请参照图2,一种基于Unity的RESTFul网络请求的适配器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、代理RESTFul接口,拦截调用所述RESTFul接口的接口方法;
S2、分别解析所述接口方法以及所述接口方法参数的特性注释;
S3、根据解析得到的信息组装网络请求并发送。
从上述描述可知,本发明的有益效果在于:通过适配器代理RESTFul接口,拦截调用所述RESTFul接口的接口方法,分别解析所述接口方法以及所述接口方法参数的特性注释;根据解析得到的信息组装网络请求并发送,将接口的开发过程转换为对接口的接口方法的编辑过程简化了开发流程,而且接口方法以及所述接口方法参数的特性注释的处理及组装统一在适配器进行,无需散布在不同的回调代码中,有利于提高组装效率,替换网络模块时无需重新编写接口代码,而且通过适配器统一处理响应结果,并根据所述响应结果进行回调处理,请求回调效率高。
进一步的,步骤S2包括:
通过C#反射机制分别解析所述接口方法以及所述接口方法的特性注释。
由上述描述可知,通过C#反射机制分别解析所述接口方法以及所述接口方法的特性注释,使得负责对接具体业务接口的程序员不需要再关心网络包封装(包括Url拼接、方法配置、参数序列化等)、返回Response文本反序列化以及错误回调等具体过程,而转由适配器进行承接处理,即降低了开发时间成本,也提升产品质量。
进一步的,步骤S2包括:
S21、解析所述接口方法的特性注释,得到第一信息,所述第一信息包括请求方式、请求地址和请求head;
S22、解析所述接口方法参数的特性注释,得到第二信息,所述第二信息包括预设特性标签的参数信息。
由上述描述可知,通过解析接口方法的特性注释和接口方法参数的特性注释,便于后续适配器根据得到的信息组装网络请求并发送,提高了请求回调的效率。
进一步的,步骤S3包括:
根据所述第一信息和第二信息组装网络请求并发送至服务端,以使得服务端返回响应信息。
由上述描述可知,通过适配器根据第一信息和第二信息统一组装网络请求并发送至服务端,无需散布在不同的回调代码中,有利于提高组装效率且便于对不同接口的网络请求进行统一管理。
进一步的,步骤S3之后还包括:
S41、接收所述响应信息,并判断是否请求成功,若是,则执行步骤S42,否则,进行错误处理,并判断为回调失败;
S42、根据响应信息进行反序列化处理,若反序列化成功,则判断为回调成功,若反序列化失败,则进行错误处理,并判断为回调失败;
S43、根据回调结果进行回调。
由上述描述可知,通过对响应信息进行反序列化处理,便于得到与所述响应信息一致的实例对象,且准确性高,通过进行错误处理,便于后期调试跟踪错误原因并进行响应的处理。
实施例一
请参照图1,一种基于Unity的RESTFul网络请求的方法,包括步骤:
S1、代理RESTFul接口,拦截调用所述RESTFul接口的接口方法;
S2、分别解析所述接口方法以及所述接口方法参数的特性注释;
通过C#反射机制分别解析所述接口方法以及所述接口方法的特性注释;
S21、解析所述接口方法的特性注释,得到第一信息,所述第一信息包括请求方式、请求地址和请求head;
S22、解析所述接口方法参数的特性注释,得到第二信息,所述第二信息包括预设特性标签的参数信息,所述预设特性标签与接口方法相关联,如在IBookRESTApi接口的EditBook方法中特性标签包括Path特性标签和Body特性标签;
S3、根据解析得到的信息组装网络请求并发送,所述组装网络请求包括拼接请求地址、配置请求方法以及配置请求所需的其他参数(如发送实体序列化);
根据所述第一信息和第二信息组装网络请求并发送至服务端,以使得服务端返回响应信息;
S41、接收所述响应信息,并判断是否请求成功,若是,则执行步骤S42,否则,进行错误处理,并判断为回调失败;
S42、根据响应信息进行反序列化处理,若反序列化成功,则判断为回调成功,若反序列化失败,则进行错误处理,并判断为回调失败,所述错误处理的处理方式由项目决定,可根据项目需求进行调整;
S43、根据回调结果进行回调。
实施例二
本实施例将结合具体的应用场景,进一步说明本发明上述基于Unity的RESTFul网络请求的方法是如何实现的:
1、业务程序员根据服务端接口说明文档,定义C#的interface接口以及方法,使用C#的Attribute(特性)分别对返回Response实体类以及方法进行注释,以编辑书本信息为例,一个编辑书本的接口说明文档如下:
Method:PATCH
Url:/books/{book_id}
HOST:example.com
HEAD:
Accept:application/json
Content-Type:application/json
Body:
{
"Id":书本ID,
"name":书本名称
}
响应
Status:200OK
{
"Id":书本ID,
"name":书本名称,
"press":书本出版社
}
1.1、根据所述接口说明文档中的文档响应定义实体类,并对成员变量进行特性注释,如下:
public class book{
[JsonProperty("id")]//响应实体成员变量特性注释
public int BookId;
[JsonProperty("name")]//响应实体成员变量特性注释
public string BookName;
[JsonProperty("press")]//响应实体成员变量特性注释
public string BookPress;
}
1.2、根据所述接口说明文档定义接口和接口方法,并对接口方法和接口方法参数进行特性注释,如下
public interface IBookRESTApi{
[Headers(new string[]{
"Accept:application/json",
"Content-Type:application/json"
})]//请求HEAD特性注释
[Patch("/books/{book_id}")]//请求REST方法和URL特性注释
IOBservable<Book>EditBook(
[Path("book_id")]int id,//请求URL拼接特性注释
[Body]Book bookInfo//请求Body特性注释
)
}
类似地,RESTFul架构风格的接口都可以使用这种方式进行特性注释,一种是在方法本身上进行特性注释,如RESTFul方法,Url拼接等;一种是在方法参数上进心特性注释,如请求Body,Url查询语句等;
2、如图3所示,适配器对步骤1中定义的RESTFul接口进行代理,也就是说对接口每个方法的调用都会被适配器拦截,在适配器中会根据接口方法的特性注释以及参数,拼装出完整的URL、配置请求方法、配置请求参数(如对需要序列化的参数进行序列化处理),之后进行发送,根据服务端响应结果进行反序列化处理或者错误处理,最后进行统一的请求回调;
经过以上两个主要步骤,业务程序员在对接服务端接口的时候,只需要将工作重点放在接口的定义上,而定义的过程基本上就是对接口说明文档的转换过程,即将服务端接口说明文档转换为C#的cs接口文件的过程,而适配器的编写则有核心框架程序员负责,适配器的设计也不用考虑具体业务接口,只需符合RESTFul架构风格并考虑通用性即可,如此,业务程序员的开发难度将大大降低,框架程序员也只需开发一次,业务程序员定义的业务接口文件均可适用,即降低了开发成本,也提高了开发质量,若未来需要替换底层网络引擎(模块),interface接口文件不需要做任何改变,只需要对适配器做调整即可,也就是说可以做到替换底层网络引擎(模块),而业务接口感受不到这种替换,可以照常使用,假如未来出现一个更好的网络引擎(模块),即便于从现有引擎(模块)迁移到新引擎(模块)。
以调用IBookRESTApi接口的EditBook方法为例:
3、代理RESTFul接口,拦截调用所述RESTFul接口的接口方法;
4、分别解析所述接口方法以及所述接口方法参数的特性注释;
4.1、通过C#反射机制,解析EditBook方法的特性注释,有2个特性:
[Patch("/books/{book_id}")]:解析此特性内容,得到请求方式为PATCH,请求Url为"/books/{book_id}",说明Url需要一个book_id参数来动态填充;
[Headers(new string[]{"Accept:application/json","Content-Type:application/js
on"})]:解析此特性内容,得到请求Header带2个键值对,分别为"Accept:application/json"和"Content-Type:application/json"
4.2、通过C#反射机制,解析解析EditBook方法参数的特性注释,有2个特性:
[Path("book_id")]int id:解析第一个参数,Path特性标签说明Url中有关键字为{book_id}的路径需要用动态参数id进行替换,假如int id=1001,那么最终生成的Url为"/books/1001";
[Body]Book bookInfo:解析第二个参数,Body特性标签说明请求需要携带bookInfo的Json文本,例如传入的参数是一个BookName为"中华字典"的Book类实例bookInfo,即将id为1001的书本名称修改为书名为"中华字典",那么在发送请求时,将会携带序列化后的bookInfo信息,即{"id":1001,"name":"中华字典",…};
5、根据解析得到的信息组装网络请求并发送,以使得服务端返回响应信息,发送的请求如下:
PATCH http://example.com/books/1001
Accept:application/json
Content-Type:application/json
{"id":1001,"name":"中华字典",…}
6、接收所述响应信息,并判断是否请求成功;
6.1、请求成功,则返回{"id":1001,"name":"中华字典",…}Response文本字符串;
6.1.1、将Reponse文本字符串按Book类的特性注释进行反序列化,反序列化即将服务端返回的字符串信息转换为计算机软件可以识别的类实例的过程,反序列开始阶段会根据接口方法定义的返回类型,新建一个类实例,在此例子中为Book类实例,Book类第一个成员变量BookId的特性注释标签为[JsonProperty("id")],那么在反序列化的过程中,会尝试从服务端返回的字符串信息中查找键为"id"的键值对,即"id":1001,根据此信息将Book类实例的成员变量BookId的值设置为1001,以此类推,成员变量BookName的值设置为"中华字典",最后得到与服务端返回字符串信息内容一致的Book类实例对象;
6.1.2、尝试将Reponse文本字符串反序列化Book类的实例过程失败,将进行错误处理;
6.2、请求失败,则将服务器返回的错误信息传入错误处理器,进行错误处理,错误处理器的处理方式由项目决定,目的是提供一个通道和机会对项目中所有的RESTFul的请求进行一个统一的错误处理,假如在这个例子中,项目可能需要将所有RESTFul请求发生错误的具体信息,写入到一个本地文本文件中,便于后期调试跟踪错误原因,只需要在错误处理器中将服务端返回的错误信息写入到该文本即可;
7、根据第6步的回调结果进行回调,如果请求成功,且转换成功,进行成功回调处理,如将返回的数据填充到某个具体的页面上;如果发生错误处理,则进行错误回调,错误回调的内容由每个接口方法的调用情景决定,错误回调的目的是提供一个通道和机会对每个接口方法的错误信息进行不同的处理,假如在这个例子中,当错误方式时,在页面上显示一个提示框“编辑书本信息失败!”,那么可以在错误回调中编写弹出这个提示框的相关代码。
实施例三
请参照图2,一种基于Unity的RESTFul网络请求的适配器1,包括存储器2、处理器3及存储在存储器2上并可在处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例一中的各个步骤。
综上所述,本发明提供的一种基于Unity的RESTFul网络请求的方法及适配器,通过适配器代理RESTFul接口,拦截调用所述RESTFul接口的接口方法,分别解析所述接口方法以及所述接口方法参数的特性注释;根据解析得到的信息组装网络请求并发送,将接口的开发过程转换为对接口的接口方法的编辑过程简化了开发流程,而且接口方法以及所述接口方法参数的特性注释的处理及组装统一在适配器进行,无需散布在不同的回调代码中,有利于提高组装效率,替换网络模块时无需重新编写接口代码,而且通过适配器统一处理响应结果,并根据所述响应结果进行回调处理,请求回调效率高,通过C#反射机制分别解析所述接口方法以及所述接口方法的特性注释,使得负责对接具体业务接口的程序员不需要再关心网络包封装(包括Url拼接、方法配置、参数序列化等)、返回Response文本反序列化以及错误回调等具体过程,而转由适配器进行承接处理,即降低了开发时间成本,也提升产品质量,通过解析接口方法的特性注释和接口方法参数的特性注释,便于后续适配器根据得到的信息组装网络请求并发送,提高了请求回调的效率,通过适配器根据第一信息和第二信息统一组装网络请求并发送至服务端,无需散布在不同的回调代码中,有利于提高组装效率且便于对不同接口的网络请求进行统一管理。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于Unity的RESTFul网络请求的方法,其特征在于,包括步骤:
S1、代理RESTFul接口,拦截调用所述RESTFul接口的接口方法;
S2、分别解析所述接口方法以及所述接口方法参数的特性注释;
S3、根据解析得到的信息组装网络请求并发送。
2.根据权利要求1所述的基于Unity的RESTFul网络请求的方法,其特征在于,步骤S2包括:
通过C#反射机制分别解析所述接口方法以及所述接口方法的特性注释。
3.根据权利要求1所述的基于Unity的RESTFul网络请求的方法,其特征在于,步骤S2包括:
S21、解析所述接口方法的特性注释,得到第一信息,所述第一信息包括请求方式、请求地址和请求head;
S22、解析所述接口方法参数的特性注释,得到第二信息,所述第二信息包括预设特性标签的参数信息。
4.根据权利要求3所述的基于Unity的RESTFul网络请求的方法,其特征在于,步骤S3包括:
根据所述第一信息和第二信息组装网络请求并发送至服务端,以使得服务端返回响应信息。
5.根据权利要求4所述的基于Unity的RESTFul网络请求的方法,其特征在于,步骤S3之后还包括:
S41、接收所述响应信息,并判断是否请求成功,若是,则执行步骤S42,否则,进行错误处理,并判断为回调失败;
S42、根据响应信息进行反序列化处理,若反序列化成功,则判断为回调成功,若反序列化失败,则进行错误处理,并判断为回调失败;
S43、根据回调结果进行回调。
6.一种基于Unity的RESTFul网络请求的适配器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1、代理RESTFul接口,拦截调用所述RESTFul接口的接口方法;
S2、分别解析所述接口方法以及所述接口方法参数的特性注释;
S3、根据解析得到的信息组装网络请求并发送。
7.根据权利要求6所述的基于Unity的RESTFul网络请求的适配器,其特征在于,步骤S2包括:
通过C#反射机制分别解析所述接口方法以及所述接口方法的特性注释。
8.根据权利要求6所述的基于Unity的RESTFul网络请求的适配器,其特征在于,步骤S2包括:
S21、解析所述接口方法的特性注释,得到第一信息,所述第一信息包括请求方式、请求地址和请求head;
S22、解析所述接口方法参数的特性注释,得到第二信息,所述第二信息包括预设特性标签的参数信息。
9.根据权利要求8所述的基于Unity的RESTFul网络请求的适配器,其特征在于,步骤S3包括:
根据所述第一信息和第二信息组装网络请求并发送至服务端,以使得服务端返回响应信息。
10.根据权利要求9所述的基于Unity的RESTFul网络请求的适配器,其特征在于,步骤S3之后还包括:
S41、接收所述响应信息,并判断是否请求成功,若是,则执行步骤S42,否则,进行错误处理,并判断为回调失败;
S42、根据响应信息进行反序列化处理,若反序列化成功,则判断为回调成功,若反序列化失败,则进行错误处理,并判断为回调失败;
S43、根据回调结果进行回调。
CN201811176786.7A 2018-10-10 2018-10-10 一种基于Unity的RESTFul网络请求的方法及适配器 Pending CN109491802A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811176786.7A CN109491802A (zh) 2018-10-10 2018-10-10 一种基于Unity的RESTFul网络请求的方法及适配器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811176786.7A CN109491802A (zh) 2018-10-10 2018-10-10 一种基于Unity的RESTFul网络请求的方法及适配器

Publications (1)

Publication Number Publication Date
CN109491802A true CN109491802A (zh) 2019-03-19

Family

ID=65690203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811176786.7A Pending CN109491802A (zh) 2018-10-10 2018-10-10 一种基于Unity的RESTFul网络请求的方法及适配器

Country Status (1)

Country Link
CN (1) CN109491802A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795646A (zh) * 2019-09-30 2020-02-14 北京奇艺世纪科技有限公司 请求处理方法、装置、电子设备和计算机可读存储介质
CN113204442A (zh) * 2021-05-31 2021-08-03 成都安恒信息技术有限公司 一种基于MVVM模式的操作IndexedDB的javascript库
CN114116730A (zh) * 2022-01-21 2022-03-01 深圳微迅信息科技有限公司 一种接口管理方法、装置、设备及存储介质
CN114416602A (zh) * 2022-03-30 2022-04-29 互联网域名系统北京市工程研究中心有限公司 基于Netty实现Restful接口模拟测试服务的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932390A (zh) * 2011-08-11 2013-02-13 阿里巴巴集团控股有限公司 一种网络请求的处理方法和系统、网络服务提供装置
CN103049271A (zh) * 2012-12-27 2013-04-17 微梦创科网络科技(中国)有限公司 自动生成api接口的描述文档的方法和装置
US20150143385A1 (en) * 2013-11-18 2015-05-21 Unisys Corporation Triggering processing of network requests
CN107071017A (zh) * 2017-03-31 2017-08-18 武汉斗鱼网络科技有限公司 用于安卓系统的网络请求代理工具及代理方法
CN107395724A (zh) * 2017-07-24 2017-11-24 北京小米移动软件有限公司 网络请求方法及装置
CN108595479A (zh) * 2018-03-13 2018-09-28 泰安协同软件有限公司 基于统一Web出入口的Web请求处理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932390A (zh) * 2011-08-11 2013-02-13 阿里巴巴集团控股有限公司 一种网络请求的处理方法和系统、网络服务提供装置
CN103049271A (zh) * 2012-12-27 2013-04-17 微梦创科网络科技(中国)有限公司 自动生成api接口的描述文档的方法和装置
US20150143385A1 (en) * 2013-11-18 2015-05-21 Unisys Corporation Triggering processing of network requests
CN107071017A (zh) * 2017-03-31 2017-08-18 武汉斗鱼网络科技有限公司 用于安卓系统的网络请求代理工具及代理方法
CN107395724A (zh) * 2017-07-24 2017-11-24 北京小米移动软件有限公司 网络请求方法及装置
CN108595479A (zh) * 2018-03-13 2018-09-28 泰安协同软件有限公司 基于统一Web出入口的Web请求处理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
佚名: "从架构角度看Retrofit的作用、原理和启示", 《简书》 *
佚名: "这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解)", 《博客园》 *
刘云浩: "基于Android 的网络请求方式分析", 《中国科技信息》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795646A (zh) * 2019-09-30 2020-02-14 北京奇艺世纪科技有限公司 请求处理方法、装置、电子设备和计算机可读存储介质
CN113204442A (zh) * 2021-05-31 2021-08-03 成都安恒信息技术有限公司 一种基于MVVM模式的操作IndexedDB的javascript库
CN113204442B (zh) * 2021-05-31 2023-11-24 成都安恒信息技术有限公司 一种基于MVVM模式的操作IndexedDB的javascript库系统
CN114116730A (zh) * 2022-01-21 2022-03-01 深圳微迅信息科技有限公司 一种接口管理方法、装置、设备及存储介质
CN114116730B (zh) * 2022-01-21 2022-04-12 深圳微迅信息科技有限公司 一种接口管理方法、装置、设备及存储介质
CN114416602A (zh) * 2022-03-30 2022-04-29 互联网域名系统北京市工程研究中心有限公司 基于Netty实现Restful接口模拟测试服务的方法及装置

Similar Documents

Publication Publication Date Title
CN109491802A (zh) 一种基于Unity的RESTFul网络请求的方法及适配器
US6952800B1 (en) Arrangement for controlling and logging voice enabled web applications using extensible markup language documents
US6507817B1 (en) Voice IP approval system using voice-enabled web based application server
US8321450B2 (en) Standardized database connectivity support for an event processing server in an embedded context
KR100583517B1 (ko) 소프트웨어 객체와 구조화 언어 요소 기반 문서간의 매핑시스템 및 방법
US7958188B2 (en) Transaction-initiated batch processing
US10394925B2 (en) Automating web tasks based on web browsing histories and user actions
CN108337236A (zh) 一种基于Protobuf和HTTP/1.1的gRPC调用方法及装置
US20120173679A1 (en) Adaptation method, adapter and adapter system for network service communication
CN108984202B (zh) 一种电子资源分享方法、装置和存储介质
CN113419969B (zh) 基于浏览器插件的界面自动化成功率保障方法
US11057320B2 (en) Operation for multiple chat bots operation in organization
US7996764B2 (en) Apparatus, program and method for accepting a request from a client computer via a network and executing a web application
CN115794437A (zh) 微服务的调用方法、装置、计算机设备及存储介质
US6847999B1 (en) Application server for self-documenting voice enabled web applications defined using extensible markup language documents
US20090204662A1 (en) Method and system for providing reconciliation of semantic differences amongst multiple message service providers
CN110633162B (zh) 远程调用实现方法、装置、计算机设备及存储介质
CN112015374A (zh) 一种基于自然语言的跨编程语言微服务集成系统
CN109005163B (zh) 一种http动态请求服务调用方法
CN115982257A (zh) 接口创建方法以及相关设备
CN113064987B (zh) 数据处理方法、装置、电子设备、介质和程序产品
CN114169868A (zh) 流程审批方法、装置、电子设备及存储介质
CN113626001A (zh) 一种基于脚本的api动态编排方法及装置
CN112486460A (zh) 自动导入接口文档的方法、系统、设备和介质
CN115086441B (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190319

WD01 Invention patent application deemed withdrawn after publication