java系统应用程序编程接口调用方法及系统的利记博彩app

文档序号:6440825阅读:279来源:国知局
专利名称:java 系统应用程序编程接口调用方法及系统的利记博彩app
技术领域
本申请涉及计算机数据处理技术领域,特别是涉及一种java系统应用程序编程接口调用方法及系统。
背景技术
java语言作为一种较为成熟的编程语言,被广泛应用到各种程序的编程中。一般来说,java语言实现的服务端通过提供API (ApplicationProgramming Interface,应用程序编程接口),并在API中定义实现java类的方法,在服务端该方法的实例。为了方便查找,一般会将API及方法实例等java文件打包成java包,当客户端需要调用API时,需要首先引入该API对应的jar包到本地系统中,然后再构造API实例来实现调用。当需要在API中新增一个方法时,需要修改或者增加对应的java类,在java类中定义实现该新增方法的方法实例及相关的参数,接着编译java类文件并重新打包成jar包,以供调用者调用。在此种方法中,每次新增方法时,就需要对应的修改或增加现有的java类,使用较不方便,且会增加改动的工作量和成本,扩展性能被限制。另外,在每次更新后,调用者需要首先引入更新后的jar包到本地后,再次构造接口实例后才能重新使用,过程繁琐、费时。

发明内容
本申请提供 一种java系统应用程序编程接口调用方法及系统,以解决数据更新而增加改动工作量和成本的问题。为了解决上述问题,本申请公开了一种java系统应用程序编程接口调用方法,包括以下步骤:接收客户端发送的对通用应用程序编程接口的调用请求,所述调用请求的输入参数为类SQL字符串;对所述类SQL字符串进行SQL解析,获取其中所包含的数据对象,所述数据对象包括实际应用程序编程接口名称和查询条件;根据所述实际应用程序编程接口名称查询与该实际应用程序编程接口名称对应的实际应用程序编程接口,获取接口参数;根据所述实际应用程序编程接口名称和参数生成应用程序编程接口实例,并基于所述解析得到的查询条件调用所述应用程序编程接口实例中的方法获取返回值;将所述返回值返回给客户端。进一步地,所述输入参数包括实际应用程序接口名称和查询条件。进一步地,所述输入参数还包括需要返回的数据对象属性。进一步地,在根据所述数据对象查询与该数据对象对应的实际应用程序编程接口,获取接口参数之前还包括:扫描java服务器端实际存在的所有应用程序编程接口,获取接口名称和参数;
存储所述扫描获取的接口名称和参数。进一步地,所述扫描java服务器端实际存在的所有应用程序编程接口,获取接口名称和参数包括:在java服务器端启动时扫描;或在java服务器端启动后接收到第一次调用请求时扫描。进一步地,所述将所述返回值并返回给客户端包括:将所述返回值二次封装成符合客户端要求的数据结构后返回给客户端。为了解决上述问题,本申请还公开了一种java系统应用程序编程接口调用系统,包括java服务器端和解析装置;解析装置,用于对所述类SQL字符串进行SQL解析,获取其中所包含的实际应用程序编程接口名称和查询条件,并将接口名称和查询条件传给java服务器端;所述java服务器端包括:接收模块,用于接收客户端发送的对通用应用程序编程接口的调用请求,所述调用请求的输入参数为类SQL字符串,并将类SQL字符串传送给解析装置;查询模块,用于根据所述实际应用程序编程接口名称查询与该实际应用程序编程接口名称对应的实际应用程序编程接口,获取接口参数;应用程序编程接口实例生成模块,用于根据所述实际应用程序编程接口名称和参数生成应用程序编程接口实例,并基于所述解析得到的查询条件调用所述应用程序编程接口实例中的方法获取返回值;和数据返回模块,用于将所述返回值返回给客户端。进一步地,所述java服务器端还包括:扫描模块,用于扫描java服务器端实际存在的所有应用程序编程接口,获取接口名称和参数;和存储模块,用于存储所述扫描获取的接口名称和参数。进一步地,所述java服务器端还包括:扫描触发模块,用于在java服务器端启动时触发扫描模块扫描或在java服务器端启动后接收到第一次调用请求时触发扫描模块扫描。进一步地,所述java服务器端还包括:封装模块,用于将返回值二次封装成符合客户端要求的数据结构后返回给客户端。与现有技术相比,本申请包括以下优点:本申请中,通过在java服务器端和客户端之间建立解析装置,并在java服务器端设定一个通用应用程序编程接口,当客户端需要调用java服务器端任意一个实际存在的应用程序编程接口时,可以通过该通用应用程序编程接口和解析装置便能实现调用。因此,客户端在进行接口调用时只需要引入该通用应用程序编程接口对应的jar包,无需引入其他实际存在的应用程序编程接口对应的jar包,即使当java服务端修改或者新增应用程序编程接口后并对应更新jar包,客户端也无需重新引入更新后的jar包,从而简化了客户端操作流程和时间。另外,因为java服务器端通过动态扫描的方式获取实际存在的应用程序编程接口和接口参数,当应用程序编程接口相关数据有更新或者修改时,java服务器端可以通过动态扫描及时获取到更新数据并存入内存中,当客户端需要调用新的应用程序编程接口时,只需要根据需要输入不同的参数即可,不需要再次将修改后的.jar包更新引入到本地,简单高效,降低了改动的工作量和成本。进一步地,通过类SQL字符串的方式还可以控制客户端输入参数的形式,限制按照其标准的类SQL的方式查询调用java服务器端所提供的应用程序编程接口,从而使调用标准得到了统一,减少系统数据处理的时间和工作量。当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。


图1是本申请的java系统应用程序编程接口调用实现的系统架构图;图2是本申请的java系统应用程序编程接口调用方法实施例一的流程图;图3是本申请的java系统应用程序编程接口调用系统实施例一的结构示意图。
具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。参照图1,其示出实现本申请的Java系统应用程序编程接口调用的系统架构图,本申请通过在java服务器端和客户端之间建立一个解析装置,并在java服务器端中设定一个通用应用程序编程接口,客户端可以将其实际需要调用的应用程序编程接口和查询条件,按照通用应用程序编程接口的定义,输入类SQL字符串作为输出参数,并向通用应用程序编程接口发起调用请求,然后通过解析装置对类SQL字符串进行解析后,获取其实际需要调用的应用程序编程接口名称,并传输给java服务器端,java服务器端根据解析装置解析得到的数据,查询其中预先存储的实际需要调用的应用程序编程接口数据(如接口名称、参数等等),从而构造应用程序编程接口实例,并实现对该实际应用程序接口方法的调用并获取到返回值,然后返回给客户端。参照图2,其示出本申请的一种Java系统应用程序编程接口调用方法实施例一,包括以下步骤:步骤101,接收客户端发送的对通用应用程序编程接口的调用请求,所述调用请求的输入参数为类SQL字符串。通用应用程序编程接口为预先设置在java服务器端,其输入参数为类SQL (Structured Query Language,结构化查询语言)字符串,返回参数可以设定为预定格式的字符串,一般来说,为通用的开发语言,例如,XML或者json结构的字符串。该通用应用程序编程接口包含在一个通用的jar包中,在客户端进行调用之前,首先需要引入该通用的jar包到其系统中,然后再进行调用。其中,通用应用程序编程接口定义了输入参数的固定格式,当客户端发送调用请求时,其输入参数格式需要满足通用应用程序编程接口的规定。为了实现对具体实际应用程序编程接口的调用,输入参数至少需要包括实际应用程序编程接口名称和查询条件,以便java服务器端能够在解析该输入参数后获取其目标实际应用程序编程接口,具体的格式可以根据需要来规定。例如,本申请中类SQL字符串可以为“select*fromtaoba0.user,get where nick = alipublic29”。其中,taoba0.user, get 代表实际应用程序编程接口,nick = alipublic29表示查询条件,这段SQL的意思就是调用taoba0.user, get这个实际应用程序编程接口查询nick为alipublic29的用户信息。步骤102,对所述类SQL字符串进行SQL解析,获取其中所包含的数据对象,所述数据对象包括实际应用程序编程接口名称和查询条件。因为输入的类SQL字符串是按照预订格式来输入的,所以解析的时候按照格式便可以获取到对应位置的信息。仍以前述类SQL字符串为例,from之后的字符串即为数据对象,分别包括实际应用程序编程接口名称“taoba0.user, get”和查询条件“nick =alipublic29,,。优选地,还可以预先定义需要返回的数据对象属性,在对类SQL字符串进行解析时还包括获取数据对象属性。当java服务器端获取到返回值后,根据获取到的输入参数中所包含的需要返回的数据对象属性对返回值进行二次封装,从而使返回值的属性符合客户端要求。例如,在前述类SQL字符串中,select之后的字符解析为需要返回的数据对象属性。可以理解,类SQL字符串也可以用update来替换select,相应的,update之后的字符解析为需要返回的数据对象属性。步骤103,根据所述实际应用程序编程接口名称查询与该实际应用程序编程接口名称对应的实际应用程序编程接口,获取接口参数。实际应用程序编程接口为java服务器端实际存在的所有应用程序编程接口,具体可根据java服务器端对应的业务来决定。例如对于购物平台来说,可以是交易接口、商品接口等等。接口参数包括输入参数、输出参数、调用方式等等。java服务器端在启动时,会预先扫描服务器端实际存在的所有应用程序编程接口,并获取各接口名称和参数,然后存储在单例静态实例中,如内存中,以供后续使用。可以理解,服务器端实际存在的所有应用程序编程接口及各接口参数的存储并不局限于在启动时扫描获取,也可以在服务器端在启动后接收到第一次调用请求时扫描获取。其中,实际应用程序编程接口和接口参数可以以key-value的形式进行存储,即实际应用程序编程接口名称为key,其接口参数为value,当对客户端通过通用应用程序编程接口的输入参数进行解析后,可以获取到其目标实际应用程序编程接口名称,然后作为查询关键词(key)在预存数据中查询能够匹配的实际应用程序编程接口,并进一步地获取该实际应用程序编程接口的接口参数。步骤104,根据所述实际应用程序编程接口名称和参数生成应用程序编程接口实例,并基于所述解析得到的查询条件调用所述应用程序编程接口实例中的方法获取返回值。Java服务器端在获取到实际应用程序编程接口名称和参数生成应用程序编程接口实例过程为:通过调用java中基础的Class类中的newlnstance方法或者调用java中基础的Constructor类中newlnstance方法来构造该应用程序编程接口实例,并基于查询条件调用该应用程序编程接口实例中的方法。步骤105,将所述返回值返回给客户端。其中,获取返回值后,根据输入参数中是否包含有需要返回的数据对象属性来确定是否对返回值进行二次封装,若不包含,例如一些简单的数据格式,则可以直接将返回值返回给客户端,若包含,则对返回值进行二次封装,使二次封装后的返回值符合客户端需要的数据结构,然后再将二次封装后的返回值返回给客户端。例如,以前述类SQL字符串为例,二次封装后的返回值需要为XML或者json格式的数据,从而满足通用应用程序编程接口所定义的返回参数格式。本申请中,通过在java服务器端和客户端之间建立解析装置,并在java服务器端设定一个通用应用程序编程接口,当客户端需要调用java服务器端任意一个实际存在的应用程序编程接口时,可以通过该通用应用程序编程接口和解析装置便能实现调用。因此,客户端在进行接口调用时只需要引入该通用应用程序编程接口对应的jar包,无需引入其他实际存在的应用程序编程接口对应的jar包,即时当java服务端修改或者新增应用程序编程接口后并对应更新jar包,客户端也无需重新引入更新后的jar包,从而简化了客户端操作流程和时间。另外,因为java服务器端通过动态扫描的方式获取实际存在的应用程序编程接口和接口参数,当应用程序编程接口相关数据有更新或者修改时,java服务器端可以通过动态扫描及时获取到更新数据并存入内存中,当客户端需要调用新的应用程序编程接口时,只需要根据需要输入不同的参数即可,不需要再次将修改后的jar包更新引入到本地,简单高效,降低了改动的工作量和成本。进一步地,通过类SQL字符串的方式还可以控制客户端输入参数的形式,限制按照其标准的类SQL的方式查询调用java服务器端所提供的应用程序编程接口,从而使调用标准得到了统一,减少系统数据处理的时间和工作量。参照图3,其示出本申请的一种Java系统应用程序编程接口调用系统实施例,包括java服务器端10和解析装置20。java服务器端10包括输入参数接收模块11、查询模块12、应用程序编程接口实例生成模块13和数据返回模块14。解析装置20,用于对所述类SQL字符串进行SQL解析,获取其中所包含的实际应用程序编程接口名称和查询条件,并将接口名称和查询条件传给java服务器端的查询模块12。其中,接收模块11,用于接收客户端发送的对通用应用程序编程接口的调用请求,所述调用请求的输入参数为类SQL字符串,并将类SQL字符串传送给解析装置20。其中,接收模块11还限定了输入参数格式,所述输入参数至少包括实际应用程序接口名称和查询条件。优选地,输入参数还包括需要返回的数据对象属性。查询模块12,用于根据所述实际应用程序编程接口名称查询与该实际应用程序编程接口名称对应的实际应用程序编程接口,获取接口参数。应用程序编程接口实例生成模块13,用于根据所述实际应用程序编程接口名称和参数生成应用程序编程接口实例,并基于所述解析得到的查询条件调用所述应用程序编程接口实例中的方法获取返回值。数据返回模块14,用于将所述返回值并返回给客户端。优选地,该java服务器端10还包括扫描模块和存储模块。其中,扫描模块,用于扫描java服务器端实际存在的所有应用程序编程接口,获取接口名称和参数。存储模块,用于存储所述扫描获取的接口名称和参数。优选地,该java服务器端10还包括扫描触发模块,用于在java服务器端启动时触发扫描模块扫描或在java服务器端启动后接收到第一次调用请求时触发扫描模块扫描。优选地,该java服务器端10还包括封装模块,用于将返回值二次封装成符合客户端要求的数据结构后返回给客户端。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上对本申请所提供的java系统应用程序编程接口调用方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种java系统应用程序编程接口调用方法,其特征在于,包括以下步骤: 接收客户端发送的对通用应用程序编程接口的调用请求,所述调用请求的输入参数为类SQL字符串; 对所述类SQL字符串进行SQL解析,获取其中所包含的数据对象,所述数据对象包括实际应用程序编程接口名称和查询条件; 根据所述实际应用程序编程接口名称查询与该实际应用程序编程接口名称对应的实际应用程序编程接口,获取接口参数; 根据所述实际应用程序编程接口名称和参数生成应用程序编程接口实例,并基于所述解析得到的查询条件调用所述应用程序编程接口实例中的方法获取返回值; 将所述返回值返回给客户端。
2.如权利要求1所述的java系统应用程序编程接口调用方法,其特征在于,所述输入参数包括实际应用程序接口名称和查询条件。
3.如权利要求2所述的java系统应用程序编程接口调用方法,其特征在于,所述输入参数还包括需要返回的数据对象属性。
4.如权利要求1所述的java系统应用程序编程接口调用方法,其特征在于,在根据所述数据对象查询与该数据对象对应的实际应用程序编程接口,获取接口参数之前还包括: 扫描java服务器端实际存在的所有应用程序编程接口,获取接口名称和参数; 存储所述扫描获取的接口名称和参数。
5.如权利要求4所述的java系统应用程序编程接口调用方法,其特征在于,所述扫描java服务器端实际存在的所有应用程序编程接口,获取接口名称和参数包括: 在java服务器端启动时扫描;或 在java服务器端启动后接收到第一次调用请求时扫描。
6.如权利要求1所述的java系统应用程序编程接口调用方法,其特征在于,所述将所述返回值并返回给客户端包括: 将所述返回值二次封装成符合客户端要求的数据结构后返回给客户端。
7.—种java系统应用程序编程接口调用系统,其特征在于,包括java服务器端和解析装置; 解析装置,用于对所述类SQL字符串进行SQL解析,获取其中所包含的实际应用程序编程接口名称和查询条件,并将接口名称和查询条件传给java服务器端; 所述java服务器端包括: 接收模块,用于接收客户端发送的对通用应用程序编程接口的调用请求,所述调用请求的输入参数为类SQL字符串,并将类SQL字符串传送给解析装置; 查询模块,用于根据所述实际应用程序编程接口名称查询与该实际应用程序编程接口名称对应的实际应用程序编程接口,获取接口参数; 应用程序编程接口实例生成模块,用于根据所述实际应用程序编程接口名称和参数生成应用程序编程接口实例,并基于所述解析得到的查询条件调用所述应用程序编程接口实例中的方法获取返回值;和 数据返回模块,用于将所述返回值返回给客户端。
8.如权利要求7所述的java系统应用程序编程接口调用系统,其特征在于,所述java服务器端还包括: 扫描模块,用于扫描java服务器端实际存在的所有应用程序编程接口,获取接口名称和参数;和 存储模块,用于存储所述扫描获取的接口名称和参数。
9.如权利要求8所述的java系统应用程序编程接口调用系统,其特征在于,所述java服务器端还包括: 扫描触发模块,用于在java服务器端启动时触发扫描模块扫描或在java服务器端启动后接收到第一次调用请求时触发扫描模块扫描。
10.如权利要求7所述的java系统应用程序编程接口调用系统,其特征在于,所述java服务器端还包括: 封装模块,用于将返回值二次封装成符合 客户端要求的数据结构后返回给客户端。
全文摘要
本申请提供了一种java系统应用程序编程接口调用方法,包括接收客户端发送的对通用应用程序编程接口的调用请求,调用请求的输入参数为类SQL字符串;对类SQL字符串进行SQL解析,获取其中的实际应用程序编程接口名称和查询条件;根据实际应用程序编程接口名称查询对应的实际应用程序编程接口,获取接口参数;根据实际应用程序编程接口名称和参数生成应用程序编程接口实例,并基于解析得到的查询条件调用应用程序编程接口实例中的方法获取返回值,并返回给客户端。本申请还提供了一种实现前述方法的java系统应用程序编程接口调用系统。本申请的java系统应用程序编程接口调用方法及系统,可以降低因为数据更新的改动工作量和成本。
文档编号G06F9/48GK103164270SQ20111041125
公开日2013年6月19日 申请日期2011年12月12日 优先权日2011年12月12日
发明者李庆丰 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1