一种轻量级API Server开发框架及开发方法技术

技术编号:18763518 阅读:211 留言:0更新日期:2018-08-25 10:22
本发明专利技术公开了一种轻量级API Server开发框架以及轻量级API Server开发方法,包括Server子系统、Client子系统和API子系统,其中API子系统用于定义API Server所支持的API集合,Server子系统包括有API实现类库,其包括有用于定义API业务逻辑的API实现类,在开发过程中,对于每一API,只需在API子系统添加上一对API请求类和API响应类,并根据实际业务需要,在API实现类库中添加对应的API实现类即可,使得开发人员可以专注在API的编程上,极大减少了编程的代码量,提高了开发效率。

【技术实现步骤摘要】
一种轻量级APIServer开发框架及开发方法
本专利技术涉及APIServer开发
,尤其涉及一种轻量级APIServer开发框架以及轻量级APIServer开发方法。
技术介绍
在互联网的IT公司中,常常涉及到开发大型的内部业务系统,其中一个大的系统由若干分布式部署的子系统组成,不同的子系统之间需要通过公开接口进行内部网络的通信。在这种情况下,为了提高接口模块的开发效率,降低开发、部署、运维成本,本申请专利技术人提出了一种轻量级APIServer开发框架及开发方法。
技术实现思路
为了克服现有技术的不足,本专利技术的目的在于提供一种轻量级APIServer开发框架,能够提高APIServer的开发效率。本专利技术的目的之二在于提供一种轻量级APIServer开发方法,能够提高APIServer的开发效率。本专利技术的轻量级APIServer开发框架,采用如下技术方案实现:一种轻量级APIServer开发框架,包括:API子系统,其用于定义所述APIServer所支持的API集合;Server子系统,其用于提供对外的API服务;Client子系统,其用于调用所述Server子系统提供的API服务;所述API集合中的每一API由三部分定义,分别为API标识、一个API请求类和一个API响应类,所述API标识用于区分不同的API,所述API请求类用于定义API的请求参数,所述API响应类用于定义API的响应参数;所述Server子系统包括API实现类库、管理器和控制器;所述控制器用于向所述管理器传递API的请求数据以及用于向所述Client子系统传递API的响应数据;所述管理器用于根据接收到的API的请求数据,调用API实现类库中对应的API实现类,以得到API的响应数据,并将响应数据返回给控制器。进一步地,所述Server子系统和所述Client子系统之间采用HTTP协议实现通信。进一步地,所述Server子系统,其采用Jetty容器作为WEB容器。进一步地,所述Client子系统调用API服务时,采用GET方式将API的请求参数以URL参数的方式提交给所述Server子系统。进一步地,所述轻量级APIServer开发框架还包括异常处理模块,所述异常处理模块通过HTTPStatusCode携带异常信息。进一步地,所述Server子系统还包括配置读取模块和配置文件,所述配置读取模块用于读取配置文件的配置信息,并将配置信息转发给所述管理器;所述管理器还用于根据接收到的配置信息,加载对应的API实现类,以获取该API实现类对应的API标识,并将该API标识更新至服务注册表。本专利技术的轻量级APIServer开发方法,采用如下技术方案实现:一种轻量级APIServer开发方法,应用上述的轻量级APIServer开发框架,所述开发方法包括:根据业务需求确定所述APIServer的API集合;对于API集合中的每一API,在API子系统中定义对应的API请求类和API响应类;对于API集合中的每一API,在Server子系统的API实现类库中定义对应的API实现类;将API子系统、Server子系统和Client子系统部署到对应的系统平台上。相比现有技术,本专利技术的有益效果在于:本专利技术所提供的轻量级APIServer开发框架以及轻量级APIServer开发方法,包括Server子系统、Client子系统和API子系统,其中API子系统用于定义APIServer所支持的API集合,Server子系统包括有API实现类库,其包括有用于定义API业务逻辑的API实现类,在开发过程中,对于每一API,只需在API子系统添加上一对API请求类和API响应类,并根据实际业务需要,在API实现类库中添加对应的API实现类即可,使得开发人员可以专注在API的编程上,极大减少了编程的代码量,提高了开发效率。附图说明图1为本专利技术较佳实施例的轻量级APIServer开发框架的系统架构图;图2为应用图1所示轻量级APIServer框架的开发方法的流程图;图3为图1所示开发框架的应用场景的示意图;图4为图1所示开发框架的另一应用场景的示意图。具体实施方式下面,结合附图以及具体实施方式,对本专利技术做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。图1所示,为本专利技术较佳实施例的轻量级APIServer开发框架的示意图,该开发框架包括API子系统、Server子系统和Client子系统,均基于Java语言实现,通信方式被设计为HTTP协议方式。参数序列化的格式为JSON。这两种协议(格式)都是非常简单的文本格式,而且有大量成熟的开发和支持工具可以借用。1)API子系统:其用于定义APIServer所支持的API集合,API集合中的每一API由三部分定义,分别为:①API标识:其为API服务的名称,是API服务的唯一标识,用于区分不同的API服务;②一个Request类即API请求类:其用于定义API的请求参数及其格式;③一个Response类即API响应类:其用于定义API的响应参数及其格式。当要为系统添加新的API功能时,需要在API子系统中添加对应的一对API请求类和API响应类。Client子系统向Server子系统调用API服务时,调用对应的API请求类来封装有关的请求数据,从而获得对应的API请求实例,Server子系统在接收API的请求数据时,也会调用对应的API请求类来封装请求数据,以获得对应的API请求实例。同理,在API子系统接收API响应时或者Server子系统返回API响应时,对应的API响应类被调用来封装有关的API响应数据。2)Server子系统,其为提供API服务的服务端,用于提供对外的API服务,包括API实现类库、一个管理器和一个控制器;该控制器为基于SpringFramework实现的Servlet;该控制器用于向管理器传递API的请求数据以及用于向Client子系统传递API的响应数据;该管理器用于根据接收到的API的请求数据,调用API实现类库中对应的API实现类,以得到API的响应数据,并将响应数据返回给控制器。在本实施例中,Server子系统还包括有配置单元,配置单元包括有配置读取模块和配置文件,配置读取模块用于读取配置文件的配置信息,并将配置信息转发给管理器;管理器还用于根据接收到的配置信息,加载对应的API实现类,以获取该API实现类对应的API标识,并将该API标识更新至服务注册表。在本实施例中,Server子系统具备如下特点:①采用轻量级的嵌入式的WEB容器Jetty,提供对外的HTTP服务;②应用程序框架采用SpringFramework,它提供的清晰MVC架构让APIServer的实现更加简单明了;③API实现类库包括有API实现类,对于Server子系统所提供的任一API,在API实现类库中均定义有一个对应的API实现类,该API实现类用于定义该API的业务逻辑;④Server子系统包括有一个ActionManager类,即管理器,其用于管理系统中所有的API,具体处理逻辑为:根据传入的API请求对象,调用对应的API实现类,返回一个对本文档来自技高网...

【技术保护点】
1.一种轻量级API Server开发框架,其特征在于,包括:API子系统,其用于定义所述API Server所支持的API集合;Server子系统,其用于提供对外的API服务;Client子系统,其用于调用所述Server子系统提供的API服务;所述API集合中的每一API由三部分定义,分别为API标识、一个API请求类和一个API响应类,所述API标识用于区分不同的API,所述API请求类用于定义API的请求参数,所述API响应类用于定义API的响应参数;所述Server子系统包括API实现类库、管理器和控制器;所述控制器用于向所述管理器传递API的请求数据以及用于向所述Client子系统传递API的响应数据;所述管理器用于根据接收到的API的请求数据,调用API实现类库中对应的API实现类,以得到API的响应数据,并将响应数据返回给控制器。

【技术特征摘要】
1.一种轻量级APIServer开发框架,其特征在于,包括:API子系统,其用于定义所述APIServer所支持的API集合;Server子系统,其用于提供对外的API服务;Client子系统,其用于调用所述Server子系统提供的API服务;所述API集合中的每一API由三部分定义,分别为API标识、一个API请求类和一个API响应类,所述API标识用于区分不同的API,所述API请求类用于定义API的请求参数,所述API响应类用于定义API的响应参数;所述Server子系统包括API实现类库、管理器和控制器;所述控制器用于向所述管理器传递API的请求数据以及用于向所述Client子系统传递API的响应数据;所述管理器用于根据接收到的API的请求数据,调用API实现类库中对应的API实现类,以得到API的响应数据,并将响应数据返回给控制器。2.如权利要求1所述的轻量级APIServer开发框架,其特征在于,所述Server子系统和所述Client子系统之间采用HTTP协议实现通信。3.如权利要求2所述的轻量级APIServer开发框架,其特征在于,所述Server子系统,其采用Jetty容器作为WEB容器。4.如权利要求2所述的轻量级APIServer开发框架,其特征在于...

【专利技术属性】
技术研发人员:邓敏张芳松
申请(专利权)人:广州亦云信息技术股份有限公司
类型:发明
国别省市:广东,44

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

1