CN105335310B - 一种接口定义方法和数据传输方法及装置 - Google Patents

一种接口定义方法和数据传输方法及装置 Download PDF

Info

Publication number
CN105335310B
CN105335310B CN201410247048.2A CN201410247048A CN105335310B CN 105335310 B CN105335310 B CN 105335310B CN 201410247048 A CN201410247048 A CN 201410247048A CN 105335310 B CN105335310 B CN 105335310B
Authority
CN
China
Prior art keywords
interface
data
format
field
file
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.)
Active
Application number
CN201410247048.2A
Other languages
English (en)
Other versions
CN105335310A (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410247048.2A priority Critical patent/CN105335310B/zh
Publication of CN105335310A publication Critical patent/CN105335310A/zh
Application granted granted Critical
Publication of CN105335310B publication Critical patent/CN105335310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种接口定义方法和数据传输方法及装置,用以解决现有技术中定义接口的准确性和可扩展性较低的问题。该方法接口工具采用预设的接口描述语言定义接口,根据定义的接口生成接口文件,将接口文件提供给服务端,使服务端根据接口文件中包含的原始格式中各字段与目标格式中各字段的对应关系,将原始格式的数据转换为目标格式的数据。由于本申请采用预设的接口描述语言定义接口,而接口描述语言对字段的描述能力较强,可准确的描述目标格式中的各字段,因此可有效提高定义接口的准确性。另外,由于接口描述语言除了可描述基于HTTP的接口以外,还可描述基于其他协议的接口,因此也可有效提高定义接口的可扩展性。

Description

一种接口定义方法和数据传输方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种接口定义方法和数据传输方法及装置。
背景技术
随着计算机技术的发展,由后端设备向前端设备提供数据、由前端设备根据该数据为用户提供服务的模式已经非常普遍。其中,后端设备可以是服务端,前端设备可以是客户端。
例如,客户端可先向服务端发送诸如超文本传输协议(Hyper Text TransferProtocol,HTTP)请求等请求消息,服务端接收到该请求消息后,则根据该请求消息向客户端返回相应的数据,客户端则解析接收到的数据并展现给用户。
但是,如果客户端能够解析的数据的格式与服务端返回的数据的格式不一致,就会导致客户端不能正确的解析服务端返回的数据,因此,这就需要预先定义客户端和服务端之间的接口,使服务端返回的数据的格式能够被客户端正确的解析。
具体的,在现有技术中,一般使用api-blueprint工具来定义接口。由于api-blueprint工具定义接口所使用的是markdown语言,因此,对于用户来说,使用api-blueprint工具定义的接口具有较好的可读性。
然而,虽然markdown语言对用户具有较强的可读性,但其对具体字段的描述能力不足,如,markdown语言不能描述一个字段中的数据是整型还是浮点型,也不能描述数据的取值范围等,这就导致使用markdown语言定义接口的准确性较低。而且,markdown语言只能描述基于HTTP的接口,不能对基于其他协议的接口进行描述,这也导致使用markdown语言定义接口的可扩展性较低。
发明内容
本申请实施例提供一种接口定义方法和数据传输方法及装置,用以解决现有技术中定义接口的准确性和可扩展性较低的问题。
本申请实施例提供的一种接口定义方法,包括:
接口工具采用预设的接口描述语言定义接口;
根据定义的所述接口生成接口文件,其中,所述接口文件中包含原始格式中各字段与目标格式中各字段的对应关系;
将所述接口文件提供给服务端,使所述服务端根据所述接口文件将原始格式的数据转换为目标格式的数据。
本申请实施例提供的一种数据传输方法,包括:
服务端接收请求消息;
根据所述请求消息确定要返回的原始格式的数据;
根据接口工具提供的接口文件中包含的原始格式中各字段与目标格式中各字段的对应关系,将所述原始格式的数据转换为目标格式的数据;
返回转换的目标格式的数据。
本申请实施例提供的一种接口定义装置,包括:
定义模块,用于采用预设的接口描述语言定义接口;
接口文件生成模块,用于根据定义的所述接口生成接口文件,其中,所述接口文件中包含原始格式中各字段与目标格式中各字段的对应关系;
提供模块,用于将所述接口文件提供给服务端,使所述服务端根据所述接口文件将原始格式的数据转换为目标格式的数据。
本申请实施例提供的一种数据传输装置,包括:
接收模块,用于接收请求消息;
确定模块,用于根据所述请求消息确定要返回的原始格式的数据;
转换模块,用于根据接口工具提供的接口文件中包含的原始格式中各字段与目标格式中各字段的对应关系,将所述原始格式的数据转换为目标格式的数据;
发送模块,用于返回转换的目标格式的数据。
本申请实施例提供一种接口定义方法和数据传输方法及装置,该方法接口工具采用预设的接口描述语言定义接口,根据定义的接口生成接口文件,将接口文件提供给服务端,使服务端根据接口文件中包含的原始格式中各字段与目标格式中各字段的对应关系,将原始格式的数据转换为目标格式的数据。由于本申请采用预设的接口描述语言定义接口,而接口描述语言对字段的描述能力较强,可准确的描述目标格式中的各字段,因此可有效提高定义接口的准确性。另外,由于接口描述语言除了可描述基于HTTP的接口以外,还可描述基于其他协议的接口,因此,也可有效提高定义接口的可扩展性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的定义接口的过程;
图2为本申请实施例提供的数据传输的过程;
图3为本申请实施例提供的由接口工具、服务端和客户端组成的***结构示意图;
图4为本申请实施例提供的接口定义装置结构示意图;
图5为本申请实施例提供的数据传输装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的定义接口的过程,具体包括以下步骤:
S101:接口工具采用预设的接口描述语言定义接口。
在本申请实施例中,接口工具摒弃了传统的通过markdown语言定义接口的方式,而采用预设的接口描述语言定义接口。其中,本申请所述的接口描述语言是指对字段的描述能力较强,并且除了可以描述基于HTTP协议的接口以外,还可以描述基于其他协议接口的语言。如,预设的接口描述语言可以是JSON-Schema语言。下面以预设的接口描述语言为JSON-Schema语言为例进行说明。
由于JSON-Schema语言对字段具有较强的描述能力,因此,采用JSON-Schema定义接口可有效提高定义接口的准确性。
具体的,JSON-Schema语言可描述一个字段中的数据是整型还是浮点型、数据的取值范围等诸多的数据属性,因此,相比于markdown语言,采用JSON-Schema语言可更准确的定义接口。
另外,由于JSON-Schema语言除了可描述基于HTTP的接口以外,还可描述其他协议的接口,因此,采用JSON-Schema语言定义接口也可提高定义接口的可扩展性。
S102:根据定义的接口生成接口文件,其中,接口文件中包含原始格式中各字段与目标格式中各字段的对应关系。
在本申请实施例中,接口工具定义接口后,可根据定义的接口生成接口文件。其中,由于接口工具是采用预设的接口描述语言定义接口的,因此,生成的接口文件也是基于该预设的接口描述语言的。
例如,当接口工具采用JSON-Schema语言定义接口时,生成的接口文件也是基于JSON-Schema语言的。也即,接口文件中通过JSON-Schema语言描述了目标格式中各字段的格式,以及目标格式中各字段与原始格式中各字段的对应关系。
当然,接口文件中还可以包含请求消息的格式。
需要说明的是,本申请实施例中所述的接口文件是针对服务端或客户端等设备而言的,是机器可读的接口文件,而并非是用户可读的。
S103:将该接口文件提供给服务端,使服务端根据该接口文件将原始格式的数据转换为目标格式的数据。
接口工具生成了接口文件后,则可将该接口文件提供给服务端,服务端即可根据该接口文件中描述的目标格式中各字段的格式,以及目标格式中各字段与原始格式中各字段的对应关系,将要发送的原始格式的数据转换为目标格式的数据。
相应的,本申请实施例还提供了一种数据传输的方法,如图2所示。
图2为本申请实施例提供的数据传输的过程,具体包括以下步骤:
S201:服务端接收请求消息。
在本申请实施例中,服务端可接收由客户端发送的请求消息。其中,客户端向服务端发送的请求消息的格式是与上述如图1所示的过程中接口工具生成的接口文件中包含的请求消息的格式一致的。
S202:根据该请求消息确定要返回的原始格式的数据。
服务端通过解析接收到的请求消息,可确定针对该请求消息要返回的原始格式的数据。
S203:根据接口工具提供的接口文件中包含的原始格式中各字段与目标格式中各字段的对应关系,将该原始格式的数据转换为目标格式的数据。
由于服务端已经接收并存储了接口工具所提供的接口文件,因此,服务端可根据该接口文件中包含的原始格式中各字段与目标格式中各字段的对应关系,将步骤S202确定的要返回的该原始格式的数据转换为目标格式的数据。
S204:返回转换的目标格式的数据。
将原始格式的数据转换为目标格式的数据后,服务端则可将转换的目标格式的数据返回给请求消息的发送方。
在本申请实施例中,为了兼顾定义的接口对用户的可读性,在图1所示的过程中,接口工具在采用预设的接口描述语言定义了接口后,还可根据定义的接口,采用文档生成工具生成接口文档。其中,本申请实施例所述的文档生成工具包括JSON-Builder。JSON-Builder是现有技术中的一种根据可定义的接口生成用户可读的接口文档的工具。
需要说明的是,本申请实施例所述的接口文档是对用户可读的,而且对用户的可读性较高,接口文档并非是机器可读的。这样,即可在基于JSON-Schema语言准确的描述接口的同时,兼顾接口文档对用户的可读性。
另外,在图1所示的步骤S102中,接口工具生成的接口文件中具体可以包含原始格式中各字段的字段标识与转换标记的对应关系,以及各转换标记与目标格式中各字段的对应关系。这样,通过转换标记,服务端即可获知要将原始格式中的哪个字段转换为目标格式中的哪个字段。相应的,在图2所示的步骤S203中,服务端在将原始格式的数据转换为目标格式的数据时,则可先根据接口文件中包含的原始格式中各字段的字段标识与转换标记的对应关系,为确定的原始格式的数据中的各字段设置转换标记,再针对该原始格式中的数据中的每个字段,根据为该原始格式的数据中该字段设置的转换标记,以及接口文件中包含的各转换标记与目标格式中各字段的对应关系,将该原始格式的数据中的该字段转换为设置的转换标记对应的目标格式中的字段。具体的,当接口文件是采用JSON-Schema语言生成的接口文件时,服务端在根据该接口文件中包含的原始格式中各字段的字段标识与转换标记的对应关系,以及转换标记与目标格式中各字段的对应关系,将原始格式的数据转换为目标格式的数据时,可采用JavaScript Object Notation进行转换。如表1所示。
原始格式中字段的字段标识 转换标记 目标格式的字段
字段1 @a 字段1’
字段2 @b 字段2’
表1
在表1中,接口文件中包含的原始格式中的字段1对应的转换标记为@a,原始格式中的字段2对应的转换标记为@b,转换标记@a对应的目标格式的字段为字段1’,转换标记@b对应的目标格式的字段为字段2’。
基于如表1所示的接口文件,当服务端通过步骤S202确定的要返回的原始格式的数据中包含字段1和字段2时,即可根据如表1所示的接口文件,为字段1设置转换标记@a,为字段2设置转换标记@b。
设置了转换标记后,服务端可根据如表1所示的接口文件,针对字段1,根据为字段1设置的转换标记@a,以及@a对应的目标格式中的字段1’,将字段1转换为目标格式中的字段1’。类似的,针对字段2,根据为字段2设置的转换标记@b,以及@b对应的目标格式中的字段2’,将字段2转换为目标格式中的字段2’。
由于在现有技术中,通常是人工的为原始格式中各字段设置转换标记的,因此经常会引入人为错误,而本申请实施例中接口工具生成的接口文件中包含原始格式中各字段的字段标识与转换标记的对应关系,因此,服务端可根据该接口文件,自动的为原始格式中的各字段设置转换标记,从而不会引入人为错误,可提高转换格式的准确性。
另外,在现有技术中,由于在定义了接口之后,除了要求服务端向客户端发送的数据满足该接口所描述的目标格式以外,还要求客户端能够正确的解析该目标格式的数据,因此,在现有技术中,定义了接口之后,需要根据定义的该接口联合开发服务端和客户端,这一方面局限了开发服务端和客户端的灵活性,另一方面也降低了开发服务端和客户端的效率。
从而,为了提高开发服务端和客户端的灵活性和效率,在本申请实施例中,接口工具采用预设的接口描述语言定义了接口,并根据定义的该接口生成接口文件之后,还可以根据该接口文件,生成基准数据,并将该基准数据提供给客户端开发工具。其中,该基准数据的格式与该接口文件所描述的目标格式相同。这样,客户端的开发者即可通过该客户端开发工具,开发出可以正确解析该基准数据的客户端即可,从而可在开发过程中解耦服务端和客户端,实现服务端与客户端的独立开发。其中,本申请实施例中所述的基本数据又可称为mock数据。
进一步的,由于现有技术中采用markdown语言定义接口,而markdown语言并不能定义请求消息出现异常时服务端的处理方法,因此,当由于网络或设备的故障而引起服务端接收到的请求消息出现异常时,采用markdown语言定义的接口并不能及时的处理并应对故障。从而,为了可以及时的处理并应对故障,在本申请实施例中,定义接口所采用的预设的接口描述语言也具备描述异常请求消息对应的处理方法的能力。
具体的,由于JSON-Schema语言可以定义请求消息中的异常响应值及其服务端针对该异常响应值对应的处理方法,因此,可采用JSON-Schema语言定义接口,定义的接口中包括:请求消息中的异常响应值,以及异常响应值对应的处理方法。相应的,根据定义的该接口生成的接口文件中也包括处理方法,因此,可采用JSON-Schema语言定义接口,定义的接口中包括:请求消息中的异常响应值,以及异常响应值对应的处理方法。也即,定义的接口中除了包括原始格式中各字段与目标格式中各字段的对应关系以外,还包括请求消息中的各参数值对应的处理方法,如,请求消息中的异常响应值对应的处理方法,请求消息中的请求方式(对于HTTP的请求消息来说,请求消息中的请求方式即为HTTPMethod)对应的处理方法等。
例如,采用JSONSchema定义接口时,生成的接口文件可以如下述所示:
Figure BDA0000516317660000081
Figure BDA0000516317660000091
Figure BDA0000516317660000101
如上述接口的JSON-Schema代码所示,schemaresponse中定义了当HTTP请求消息中的请求方式(即,method)的值为“GET”时,处理方法为相应的正常处理流程exportsresponse,而定义的schemaresponseError则表示:当HTTP请求消息中的property字段中的status的值为-1(即,异常响应值)时,处理方法为相应的异常处理方法exportsresponseError。
相应的,服务端在接收到请求消息时,先根据接口工具提供的接口文件中包含的异常响应值,判断接收到的请求消息中是否包含该异常响应值,当接收到的请求消息中存在异常响应值时,服务端则可根据该接口文件中包含的该异常响应值对应的处理方法,处理该请求消息。如果接收到的请求消息中不存在该异常响应值,服务端则可根据该请求消息确定要返回的原始格式的数据,并根据该接口文件将该原始格式的数据转换成目标格式的数据并返回。
进一步的,在本申请实施例中,为了保证服务端根据接口工具提供的接口文件能够正确的将原始格式的数据转换为目标格式的数据,接口工具还可以对服务端进行测试。具体的,接口工具可以向服务端发送请求消息,并接收服务端返回的转换为目标格式的数据,然后,接口工具则可根据接口文件,对服务端返回的目标格式的数据进行测试,以测试服务端返回的数据的格式是否与该接口文件中所描述的目标格式一致。其中,接口工具可按照设定的时间间隔,对服务端返回的数据的格式进行测试。
进一步的,接口工具生成的接口文件中,除了包含目标格式、原始格式中各字段与目标格式中各字段的对应关系以外,还可以包括请求消息的格式,则接口工具可以根据接口文件中包含的请求消息的格式,生成请求消息并发送给服务端,服务端则根据接收到的该请求消息,确定要返回的原始格式的数据,并根据接口文件将原始格式的数据转换为目标格式的数据,再返回给接口工具,接口工具则可根据接口文件中包含的目标格式,测试服务端返回的数据的格式是否与目标格式一致。当不一致时,接口工具可发出提示信息,以提示相应的工作人员服务端可能出现故障或定义的接口可能有误。
进一步的,当定义的接口是基于HTTP的接口时,可以由接口工具中if-httptest框架下的接口校验工具测试服务端是否可以正确的将原始格式的数据转换为目标格式的数据,如图3所示。
图3为本申请实施例提供的由接口工具、服务端和客户端组成的***结构示意图。
在图3中,接口工具中包括接口定义工具(if-format)和接口测试框架(if-httptest)。
if-format中包括其他工具集(if-toolkit),if-format用于采用预设的接口描述语言定义接口,if-toolkit用于生成接口文件、接口文档和基准数据。
if-httptest中包括接口校验工具(if-check),if-check中包括接口验证器(if-validator)和接口规则库(if-rule)。if-httptest用于为if-check提供测试框架,if-check中的if-validator用于测试服务端是否能够正确的返回目标格式的数据,if-rule用于向if-validator提供接口测试规则。
服务端中包括格式转换工具(if-parser),if-parser用于根据接口文件将原始格式的数据转换为目标格式的数据。
在图3中,if-format将接口文件提供给服务端,服务端和客户端在上线运行后,客户端可向服务端发送http请求消息,以请求数据,服务端中的if-parser则根据if-format提供的接口文件,向客户端返回目标格式的数据。当接口工具要测试服务端是否可以正确的返回目标格式的数据时,则通过if-httptest向服务端发送http请求消息,服务端中的if-parser则转换并返回相应的数据,if-validator则对服务端返回的数据进行测试。
以上为本申请实施例提供的接口定义方法和数据传输方法,基于同样的思路,本申请实施例还提供一种接口定义的装置和数据传输的装置,如图4和图5所示。
图4为本申请实施例提供的接口定义装置结构示意图,具体包括:
定义模块401,用于采用预设的接口描述语言定义接口;
接口文件生成模块402,用于根据定义的所述接口生成接口文件,其中,所述接口文件中包含原始格式中各字段与目标格式中各字段的对应关系;
提供模块403,用于将所述接口文件提供给服务端,使所述服务端根据所述接口文件将原始格式的数据转换为目标格式的数据。
所述定义模块401具体用于,采用JSON-Schema语言定义接口。
所述装置还包括:
接口文档生成模块404,用于根据定义的所述接口,采用文档生成工具生成接口文档,其中,所述文档生成工具包括JSON-Builder。
所述接口文件生成模块402具体用于,生成的所述接口文件中包含原始格式中各字段的字段标识与转换标记的对应关系,以及各转换标记与目标格式中各字段的对应关系。
所述装置还包括:
基准数据生成模块405,用于根据所述接口文件,生成基准数据,所述基准数据的数据格式与所述目标格式相同;
将所述基准数据提供给客户端开发工具。
所述定义模块401具体用于,定义的所述接口中包括:请求消息中的异常响应值,以及异常响应值对应的处理方法。
所述装置还包括:
测试模块406,用于向所述服务端发送请求消息,并接收所述服务端返回的转换为目标格式的数据,根据所述接口文件,对所述服务端返回的所述目标格式的数据进行测试。
图5为本申请实施例提供的数据传输装置结构示意图,具体包括:
接收模块501,用于接收请求消息;
确定模块502,用于根据所述请求消息确定要返回的原始格式的数据;
转换模块503,用于根据接口工具提供的接口文件中包含的原始格式中各字段与目标格式中各字段的对应关系,将所述原始格式的数据转换为目标格式的数据;
发送模块504,用于返回转换的目标格式的数据。
所述转换模块503具体用于,根据所述接口文件中包含的原始格式中各字段的字段标识与转换标记的对应关系,为确定的所述原始格式的数据中的各字段设置转换标记,针对所述原始格式的数据中的每个字段,根据为所述原始格式的数据中该字段设置的转换标记,以及所述接口文件中包含的各转换标记与目标格式中各字段的对应关系,将所述原始格式的数据中的该字段转换为设置的转换标记对应目标格式中的字段。
所述装置还包括:
异常处理模块505,用于当所述接收模块501接收到的所述请求消息中存在异常响应值时,根据所述接口文件中包含的异常响应值对应的处理方法,处理所述请求消息。
具体的,上述如图5所示的装置可以位于服务端中。
本申请实施例提供一种接口定义方法和数据传输方法及装置,该方法接口工具采用预设的接口描述语言定义接口,根据定义的接口生成接口文件,将接口文件提供给服务端,使服务端根据接口文件中包含的原始格式中各字段与目标格式中各字段的对应关系,将原始格式的数据转换为目标格式的数据。由于本申请采用预设的接口描述语言定义接口,而接口描述语言对字段的描述能力较强,可准确的描述目标格式中的各字段,因此可有效提高定义接口的准确性。另外,由于接口描述语言除了可描述基于HTTP的接口以外,还可描述基于其他协议的接口,因此也可有效提高定义接口的可扩展性。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (11)

1.一种接口定义方法,其特征在于,包括:
接口工具采用预设的接口描述语言定义接口,所述预设的接口描述语言包括:JSON-Schema语言;
根据定义的所述接口生成接口文件,其中,所述接口文件中包含原始格式中各字段与目标格式中各字段的对应关系;
将所述接口文件提供给服务端,使所述服务端根据所述接口文件将原始格式的数据转换为目标格式的数据,所述原始格式的数据是通过解析从客户端接收的请求消息所确定的返回给客户端的数据。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据定义的所述接口,采用文档生成工具生成接口文档,其中,所述文档生成工具包括JSON-Builder。
3.如权利要求1所述的方法,其特征在于,所述接口文件中包含原始格式中各字段的字段标识与转换标记的对应关系,以及各转换标记与目标格式中各字段的对应关系。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述接口工具根据所述接口文件,生成基准数据,所述基准数据的数据格式与所述目标格式相同;
将所述基准数据提供给客户端开发工具。
5.如权利要求1所述的方法,其特征在于,定义的所述接口中包括:请求消息中的异常响应值,以及异常响应值对应的处理方法。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述接口工具向所述服务端发送请求消息,并接收所述服务端返回的转换为目标格式的数据;
根据所述接口文件,对所述服务端返回的所述目标格式的数据进行测试。
7.一种数据传输方法,其特征在于,包括:
服务端接收请求消息;
根据所述请求消息确定要返回的原始格式的数据;
根据接口工具提供的接口文件中包含的原始格式中各字段与目标格式中各字段的对应关系,将所述原始格式的数据转换为目标格式的数据,所述接口文件是所述接口工具采用预设的接口描述语言定义接口,并根据定义的所述接口生成的;
返回转换的目标格式的数据。
8.如权利要求7所述的方法,其特征在于,根据接口工具提供的接口文件中包含的原始格式中各字段与目标格式中各字段的对应关系,将所述原始格式的数据转换为目标格式的数据,具体包括:
根据所述接口文件中包含的原始格式中各字段的字段标识与转换标记的对应关系,为确定的所述原始格式的数据中的各字段设置转换标记;
针对所述原始格式的数据中的每个字段,根据为所述原始格式的数据中该字段设置的转换标记,以及所述接口文件中包含的各转换标记与目标格式中各字段的对应关系,将所述原始格式的数据中的该字段转换为设置的转换标记对应目标格式中的字段。
9.如权利要求7所述的方法,其特征在于,所述方法还包括:
当所述服务端接收到的所述请求消息中存在异常响应值时,根据所述接口文件中包含的异常响应值对应的处理方法,处理所述请求消息。
10.一种接口定义装置,其特征在于,包括:
定义模块,用于采用预设的接口描述语言定义接口,所述预设的接口描述语言包括:JSON-Schema语言;
接口文件生成模块,用于根据定义的所述接口生成接口文件,其中,所述接口文件中包含原始格式中各字段与目标格式中各字段的对应关系;
提供模块,用于将所述接口文件提供给服务端,使所述服务端根据所述接口文件将原始格式的数据转换为目标格式的数据,所述原始格式的数据是通过解析从客户端接收的请求消息所确定的返回给客户端的数据。
11.一种数据传输装置,其特征在于,包括:
接收模块,用于接收请求消息;
确定模块,用于根据所述请求消息确定要返回的原始格式的数据;
转换模块,用于根据接口工具提供的接口文件中包含的原始格式中各字段与目标格式中各字段的对应关系,将所述原始格式的数据转换为目标格式的数据,所述接口文件是所述接口工具采用预设的接口描述语言定义接口,并根据定义的所述接口生成的;
发送模块,用于返回转换的目标格式的数据。
CN201410247048.2A 2014-06-05 2014-06-05 一种接口定义方法和数据传输方法及装置 Active CN105335310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410247048.2A CN105335310B (zh) 2014-06-05 2014-06-05 一种接口定义方法和数据传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410247048.2A CN105335310B (zh) 2014-06-05 2014-06-05 一种接口定义方法和数据传输方法及装置

Publications (2)

Publication Number Publication Date
CN105335310A CN105335310A (zh) 2016-02-17
CN105335310B true CN105335310B (zh) 2020-05-08

Family

ID=55285857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410247048.2A Active CN105335310B (zh) 2014-06-05 2014-06-05 一种接口定义方法和数据传输方法及装置

Country Status (1)

Country Link
CN (1) CN105335310B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897706B (zh) * 2016-04-01 2019-01-18 厦门卫星定位应用股份有限公司 一种交通数据的通用解析处理方法
CN108205553B (zh) * 2016-12-19 2021-12-28 深圳联友科技有限公司 一种基于文本文件的接口处理***以及方法
CN106713478B (zh) * 2017-01-05 2020-03-17 武汉斗鱼网络科技有限公司 通信处理方法及装置
CN106951231B (zh) * 2017-02-23 2021-02-26 微梦创科网络科技(中国)有限公司 一种计算机软件开发方法及装置
CN109901989B (zh) * 2017-12-11 2023-12-12 阿里巴巴(中国)有限公司 Json对比方法和装置以及电子设备
CN110022221B (zh) * 2018-01-08 2022-04-05 车伯乐(北京)信息科技有限公司 一种***接口数据的监控方法、装置及***
CN110740071B (zh) * 2018-07-18 2021-07-13 优信拍(北京)信息科技有限公司 一种网络接口监控的方法、装置及***
CN109547474A (zh) * 2018-12-21 2019-03-29 深圳市创梦天地科技有限公司 一种数据传输方法及装置
CN109918433B (zh) * 2019-01-31 2024-05-07 平安科技(深圳)有限公司 基于通用数据接口的报文保存方法、装置和计算机设备
CN111628956B (zh) * 2019-02-28 2022-11-25 阿里巴巴集团控股有限公司 一种网络请求传输数据的格式转换方法、装置和***
CN111049854B (zh) * 2019-12-25 2021-12-14 微民保险代理有限公司 一种服务请求的传输方法和装置
CN114244820A (zh) * 2020-09-07 2022-03-25 宝能汽车集团有限公司 嵌入式分布***及其数据通信方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020062A (zh) * 2011-09-20 2013-04-03 佳都新太科技股份有限公司 一种基于xml rpc的前端与服务器的交互实现
CN103093001A (zh) * 2013-02-27 2013-05-08 人民搜索网络股份公司 微博数据解析方法及装置
CN103488730A (zh) * 2013-09-17 2014-01-01 佛山市明睿达科技有限公司 网站业务***数据上传导出方法、以及实现其方法的***
CN103631783A (zh) * 2012-08-21 2014-03-12 百度在线网络技术(北京)有限公司 一种前端页面的生成方法及***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377738A (zh) * 2010-08-13 2012-03-14 捷达世软件(深圳)有限公司 流程整合服务器及利用其实现***整合的方法
CN102404356B (zh) * 2010-09-10 2014-12-31 捷达世软件(深圳)有限公司 远程函数调用传送适配器及其读取数据的方法
CN103513986B (zh) * 2013-09-16 2016-08-24 山东华辰泰尔信息科技股份有限公司 一种在无操作***设备中利用CGI技术实现动态web服务器的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020062A (zh) * 2011-09-20 2013-04-03 佳都新太科技股份有限公司 一种基于xml rpc的前端与服务器的交互实现
CN103631783A (zh) * 2012-08-21 2014-03-12 百度在线网络技术(北京)有限公司 一种前端页面的生成方法及***
CN103093001A (zh) * 2013-02-27 2013-05-08 人民搜索网络股份公司 微博数据解析方法及装置
CN103488730A (zh) * 2013-09-17 2014-01-01 佛山市明睿达科技有限公司 网站业务***数据上传导出方法、以及实现其方法的***

Also Published As

Publication number Publication date
CN105335310A (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
CN105335310B (zh) 一种接口定义方法和数据传输方法及装置
CN107122258B (zh) 用于测试接口的状态码校验的方法及设备
CN107122297B (zh) 用于测试接口的请求消息生成的方法及设备
WO2019095782A1 (zh) 一种数据样本标签处理方法及装置
CN105991564A (zh) 报文处理方法及装置
CN105446706B (zh) 用于评估表单页面使用效果及提供原始数据的方法及装置
Jirka et al. A lightweight approach for the sensor observation service to share environmental data across Europe
CN107092535B (zh) 用于测试接口的数据存储的方法及设备
CN106547658B (zh) 一种自动化测试方法及装置
KR101390220B1 (ko) 소프트웨어 버그 정정을 위한 적합한 개발자 추천 방법 및 장치
US10310851B2 (en) Automated generation of service definitions for message queue application clients
CN108228443B (zh) 一种web应用的测试方法及装置
CN105791178A (zh) 报文组装方法及装置
CN106095688A (zh) 一种软件性能测试方法及装置
CN106658666B (zh) 一种用于建立无线连接的方法与设备
CN106713242B (zh) 数据请求的处理方法及处理装置
CN110020412B (zh) 一种生成imix标准报文的方法、装置及电子设备
CN110716912B (zh) 一种sql性能检测方法及服务器
CN111857981A (zh) 一种数据处理方法以及装置
CN109857450B (zh) 一种校验服务编排方法及装置
CN110888811B (zh) 代码覆盖率信息处理方法、装置、电子设备及介质
CN111177093A (zh) 一种科技资源的共享方法及设备、介质
CN111177269A (zh) 基于结构化的区块链数据存储、获取方法及装置
CN111967938B (zh) 云资源推荐方法、装置、计算机设备及可读存储介质
CN112286792A (zh) 一种接口测试方法、装置、设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant