接口调用方法和装置技术领域
本申请涉及通信技术领域,尤其涉及一种接口调用方法和装置。
背景技术
在客户端需要展示某个页面或完成某个功能时,可能需要调用多个接口从服务端获取
数据。现有技术中,在客户端中预先固定要调用的多个接口的信息,客户端根据固定的接
口信息去调用多个接口。
但是,这种方式是将接口信息固定在客户端中,调用方式不灵活。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的一个目的在于提出一种接口调用方法,该方法可以提高接口调用的灵
活性。
本申请的另一个目的在于提出一种接口调用装置。
为达到上述目的,本申请第一方面实施例提出的接口调用方法,包括:根据预设的第
一接口的接口信息,调用所述第一接口;接收所述第一接口返回的其他接口的接口信息;
根据所述其他接口的接口信息调用所述其他接口。
本申请第一方面实施例提出的接口调用方法,通过在调用第一接口时返回其他接口的
接口信息,而不是将其他接口的接口信息固定配置,可以实现接口的灵活调用。
为达到上述目的,本申请第二方面实施例提出的接口调用装置,包括:第一调用模块,
用于根据预设的第一接口的接口信息,调用所述第一接口;第一接收模块,用于接收所述
第一接口返回的其他接口的接口信息;第二调用模块,用于根据所述其他接口的接口信息
调用所述其他接口。
本申请第二方面实施例提出的接口调用装置,通过在调用第一接口时返回其他接口的
接口信息,而不是将其他接口的接口信息固定配置,可以实现接口的灵活调用。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明
显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显
和容易理解,其中:
图1是本申请一实施例提出的接口调用方法的流程示意图;
图2是本申请另一实施例提出的接口调用方法的流程示意图;
图3是本申请另一实施例提出的接口调用装置的结构示意图;
图4是本申请另一实施例提出的接口调用装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同
或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描
述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申
请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本申请一实施例提出的接口调用方法的流程示意图,该方法包括:
S11:根据预设的第一接口的接口信息,调用所述第一接口。
其中,第一接口用于提供其他接口的信息,其他接口用于提供客户端所需的数据。
客户端中可以预先配置第一接口的接口信息,接口信息包括:接口名称、版本号、
调用方式等。
客户端根据该预先配置的接口信息,可以向服务端调用第一接口。
S12:接收所述第一接口返回的其他接口的接口信息。
其中,服务端可以预先配置第一接口中提供的接口信息,例如,服务端预先配置
第一接口中提供的接口信息包括接口A的接口信息和接口B的接口信息,那么当客户
端向服务端调用第一接口后,第一接口向客户端返回接口A的接口信息和接口B的接
口信息。
S13:根据所述其他接口的接口信息调用所述其他接口。
当客户端接收到其他接口的接口信息后,可以分别根据其他接口的接口信息调用相应
的接口,例如,根据接口A的接口信息调用接口A,根据接口B的接口信息调用接口B。
本实施例通过在调用第一接口时返回其他接口的接口信息,而不是将其他接口的接口
信息固定配置,可以实现接口的灵活调用。
图2是本申请另一实施例提出的接口调用方法的流程示意图。
本实施例以客户端获取商品详情页为例进行说明。由于商品详情页需要展示的数据量
非常大,随着业务的发展,商品详情页所需的数据是由多个接口提供的。例如,商品详情
页需要宝贝标题、价格、运费、店铺等信息,假设接口A提供宝贝、店铺、图文等信息,
接口B提供价格、运费等信息,接口C提供聚划算等信息。现有技术中,客户端会固定配
置接口A、接口B和接口C的接口信息,之后分别调用接口A、接口B和接口C,再由接口
A返回宝贝、店铺、图文等信息,由接口B返回价格、运费等信息,由接口C返回聚划算
等信息。这种固定方式不够灵活,例如,当宝贝、店铺、图文等信息由接口D提供后,需
要修改客户端,将接口A的接口信息修改为接口D的接口信息。
为了解决现有技术存在的问题,本实施例提供的方法可以包括:
S21:客户端根据预设的第一接口的接口信息,调用所述第一接口。
第一接口的接口信息可以预先配置在客户端中,接口信息包括:接口名称、版本
号和调用方式等,调用方式包括调用时采用的具体协议,例如超文本传输协议
(Hypertexttransferprotocol,HTTP)或者无线接口协议等。
S22:客户端接收服务端的第一接口返回的其他接口的信息。
其中,服务端可以预先配置第一接口提供的信息,例如,预先配置第一接口提供
的信息包括:接口A的接口信息、接口B的接口信息和接口C的接口信息,那么,客
户端将接收接口A的接口信息、接口B的接口信息和接口C的接口信息。
S23:客户端根据其他接口的接口信息,分别调用其他接口。
例如,根据接口A的接口信息向服务端调用接口A,根据接口B的接口信息向服务
端调用接口B,根据接口C的接口信息向服务端调用接口C。
S24:客户端接收每个其他接口返回的数据。
其中,服务端可以预先配置每个接口返回的数据,例如,配置接口A提供宝贝、店
铺、图文等信息,接口B提供价格、运费等信息,接口C提供聚划算等信息,那么客户端
将接收接口A返回的宝贝、店铺、图文等信息,客户端将接收接口B返回的价格、运费等
信息,客户端将接收接口C返回的聚划算等信息。
可以理解的是,调用每个其他接口的顺序可以预先设置,例如,在第一接口返回的信
息中不仅包含每个其他接口的接口信息还包括其他接口的调用顺序;或者,调用每个其他
接口的顺序也可以随机,相应的,上述调用每个其他接口的时序以及相应其他接口返回的
数据无时序限制关系。
S25:客户端对其他接口返回的数据进行合并。
其中,服务端可以预先配置每个其他接口提供的数据具有相同的数据格式,即,每个
其他接口提供的数据具有相同的字段,但是,由于不同接口提供的数据不同,因此,其他
接口向客户端返回的数据中可以存在空的字段。例如,三个其他接口都包含3个字段,但
第一个接口中只第一个字段有数值,另两个字段是空;第二个接口中只第二个字段有数值,
另两个字段是空,第三个接口只第三个字段有数值,另两个字段是空。
这样,当客户端接收到不同接口返回的相同格式的数据后,可以对数据进行合并,合
并时可以用有数值的字段覆盖空字段,得到客户端所需数据,例如,客户端得到包含第一
个字段、第二个字段和第三个字段的数据,且第一个字段的数值是第一个接口返回的数据
中第一个字段的数值,第二个字段是第二个接口返回的数据中第二个字段的数值,第三个
字段是第三个接口返回的数据中第三个字段的数值。
进一步的,当提供客户端所需数据的接口改变时,服务端可以对第一接口提供的接口
信息进行修改,以便客户端从修改后的接口获取所需数据。即,本实施例还可以包括:
S26:服务端对第一接口提供的接口信息进行修改。
具体的,当提供第一数据的接口修改后,服务端可以对提供第一数据的接口的接口信
息进行修改。例如,当接口A的名称改变或者版本改变时,服务端可以在第一接口提供的
接口信息中对接口A的名称或版本号进行修改,或者,提供宝贝、店铺、图文等信息的接
口由接口A修改为接口D,那么服务端可以在第一接口提供的接口信息中将接口A的接口
信息修改为接口D的接口信息。
在服务端进行修改后,可以重复执行上述的S21-S25,客户端可以从修改后的接口中
获取所需数据。
本实施例通过在调用第一接口时返回其他接口的接口信息,而不是将其他接口的接口
信息固定配置,可以实现接口的灵活调用。本实施例通过每个其他接口提供的数据具有相
同的数据格式,可以方便对接收的数据进行整合,实现获取所需数据的简便性和准确性。
本实施例通过第一接口提供其他接口的信息,可以在其他接口修改后仅需要在服务端进行
修改,客户端不需要修改相应的接口信息,降低客户端的操作要求。
图3是本申请另一实施例提出的接口调用装置的结构示意图,该装置30包括第一调用
模块31、第一接收模块32和第二调用模块33。
第一调用模块31用于根据预设的第一接口的接口信息,调用所述第一接口;
其中,第一接口用于提供其他接口的信息,其他接口用于提供客户端所需的数据。
客户端中可以预先配置第一接口的接口信息,接口信息包括:接口名称、版本号、
调用方式等。
客户端根据该预先配置的接口信息,可以向服务端调用第一接口。
第一接收模块32用于接收所述第一接口返回的其他接口的接口信息;
其中,服务端可以预先配置第一接口中提供的接口信息,例如,服务端预先配置
第一接口中提供的接口信息包括接口A的接口信息和接口B的接口信息,那么当客户
端向服务端调用第一接口后,第一接口向客户端返回接口A的接口信息和接口B的接
口信息。
第二调用模块33用于根据所述其他接口的接口信息调用所述其他接口。
当客户端接收到其他接口的接口信息后,可以分别根据其他接口的接口信息调用相应
的接口,例如,根据接口A的接口信息调用接口A,根据接口B的接口信息调用接口B。
参见图4,另一实施例中,该装置还可以包括第二接收模块34,第二接收模块34用于
接收所述其他接口返回的数据。
其中,服务端可以预先配置每个接口返回的数据,例如,配置接口A提供宝贝、店
铺、图文等信息,接口B提供价格、运费等信息,接口C提供聚划算等信息,那么客户端
将接收接口A返回的宝贝、店铺、图文等信息,客户端将接收接口B返回的价格、运费等
信息,客户端将接收接口C返回的聚划算等信息。
可以理解的是,调用每个其他接口的顺序可以预先设置,例如,在第一接口返回的信
息中不仅包含每个其他接口的接口信息还包括其他接口的调用顺序;或者,调用每个其他
接口的顺序也可以随机,相应的,上述调用每个其他接口的时序以及相应其他接口返回的
数据无时序限制关系。
一个实施例中,所述第二接收模块接收的所述其他接口返回的数据具有相同的数据格
式。
一个实施例中,每个其他接口返回的数据是所需数据的一部分,所述装置30还包括:
合并模块35,用于对所述其他接口返回的数据进行合并。
其中,服务端可以预先配置每个其他接口提供的数据具有相同的数据格式,即,每个
其他接口提供的数据具有相同的字段,但是,由于不同接口提供的数据不同,因此,其他
接口向客户端返回的数据中可以存在空的字段。例如,三个其他接口都包含3个字段,但
第一个接口中只第一个字段有数值,另两个字段是空;第二个接口中只第二个字段有数值,
另两个字段是空,第三个接口只第三个字段有数值,另两个字段是空。
这样,当客户端接收到不同接口返回的相同格式的数据后,可以对数据进行合并,合
并时可以用有数值的字段覆盖空字段,得到客户端所需数据,例如,客户端得到包含第一
个字段、第二个字段和第三个字段的数据,且第一个字段的数值是第一个接口返回的数据
中第一个字段的数值,第二个字段是第二个接口返回的数据中第二个字段的数值,第三个
字段是第三个接口返回的数据中第三个字段的数值。
一个实施例中,当提供第一数据的接口修改后,所述第一接收模块接收的其他接口的
接口信息中包含修改后的提供第一数据的接口的接口信息。
具体的,当提供第一数据的接口修改后,服务端可以对提供第一数据的接口的接口信
息进行修改。例如,当接口A的名称改变或者版本改变时,服务端可以在第一接口提供的
接口信息中对接口A的名称或版本号进行修改,或者,提供宝贝、店铺、图文等信息的接
口由接口A修改为接口D,那么服务端可以在第一接口提供的接口信息中将接口A的接口
信息修改为接口D的接口信息。
在服务端进行修改后,可以重复执行上述步骤,客户端可以从修改后的接口中获取所
需数据。
本实施例通过在调用第一接口时返回其他接口的接口信息,而不是将其他接口的接口
信息固定配置,可以实现接口的灵活调用。本实施例通过每个其他接口提供的数据具有相
同的数据格式,可以方便对接收的数据进行整合,实现获取所需数据的简便性和准确性。
本实施例通过第一接口提供其他接口的信息,可以在其他接口修改后仅需要在服务端进行
修改,客户端不需要修改相应的接口信息,降低客户端的操作要求。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而
不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”
的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个
或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,
并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,
包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的
实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实
施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或
固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下
列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路
的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现
场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可
以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,
该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各
个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既
可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以
软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读
取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、
或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点
包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一
定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何
的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,
不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例
进行变化、修改、替换和变型。