CN104484216B - 服务接口文档和在线测试工具生成方法、装置 - Google Patents

服务接口文档和在线测试工具生成方法、装置 Download PDF

Info

Publication number
CN104484216B
CN104484216B CN201410850960.7A CN201410850960A CN104484216B CN 104484216 B CN104484216 B CN 104484216B CN 201410850960 A CN201410850960 A CN 201410850960A CN 104484216 B CN104484216 B CN 104484216B
Authority
CN
China
Prior art keywords
service interface
document
information
service
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
CN201410850960.7A
Other languages
English (en)
Other versions
CN104484216A (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.)
Vipshop Guangzhou Software Co Ltd
Original Assignee
Guangzhou Pinwei Software Co 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 Guangzhou Pinwei Software Co Ltd filed Critical Guangzhou Pinwei Software Co Ltd
Priority to CN201410850960.7A priority Critical patent/CN104484216B/zh
Publication of CN104484216A publication Critical patent/CN104484216A/zh
Application granted granted Critical
Publication of CN104484216B publication Critical patent/CN104484216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种服务接口文档和在线测试工具生成方法、装置,所述服务接口文档生成方法包括步骤:定义包含文档信息的服务接口信息,生成服务接口文件;对所述服务接口文件进行编译,生成服务的API包、静态文档和元数据文件;对所述元数据文件进行解析,获取服务接口信息中的文档信息;根据获取到的文档信息,生成服务接口的动态文档。本发明根据元数据驱动转换,准确自动生成服务接口文档和在线测试工具,不需要人工逻辑参与,一键产生,快捷方便。而且,如果服务接口发生变更,服务接口文档和在线测试工具会跟随接口变更自动更新。

Description

服务接口文档和在线测试工具生成方法、装置
技术领域
本发明涉及信息技术领域,特别是涉及一种服务接口文档生成方法、一种服务接口文档生成装置、一种服务接口在线测试工具生成方法、一种服务接口文档在线测试工具生成装置。
背景技术
公司内部***与内部***之间,或内部***与第三方外部***之间的信息交互一般都是通过调用服务接口来实现的,技术人员开发服务接口,就需要编写相应的服务接口文档。开发完毕服务接口之后,服务的开发者很关心服务接口是否已经按需求实现,同时第三方调用服务进行接口联调时也需要知道接口是否符合接口文档,所以需要进行接口测试,就需要使用到在线测试工具。
传统方式下服务接口文档是由人工手动编写,按照接口定义,人工提取接口信息,人工梳理数据关系,然后根据接口定义信息,一个一个字段提取出来写在文档上面。每个字段都需要在文档中注明字段名称、字段类型、字段是否可以为空、字段的默认值、字段的示例值、字段的描述等。另外字段有基本数据类型和复杂结构体之分,复杂结构体可能有多层嵌套,深度可能多达数层。接口文档还需要包含每个接口的错误码。当接口数量较多时,这种纯机械式手工服务文档编写效率低下且容易出错,准确性无法保证。此外,服务接口变更时,由于没有人工及时对服务接口文档更新而造成服务异常的情况也是经常发生。
传统方式下服务接口在线测试工具是由人工构造测试场景,对每一个API(Application Programming Interface,应用程序编程接口)编写相应的测试逻辑;根据服务接口的输入输出的结构定义,手动组织输入报文,以及解析好返回报文,但是受限于输入参数的种类和数量的多样化,往往只能固定类型并由用户手工动态添加参数行,效果较低,且对于复杂的结构体需要手工拼接字段数据,容易出错且工作量大。此外,如果服务接口有变动,还需要人工及时调整相应的测试逻辑和组织数据,工作量大。
发明内容
基于此,有必要针对上述问题,提供一种服务接口文档和在线测试工具生成方法、装置,实现服务接口文档和在线测试工具的自动生成。
一种服务接口文档生成方法,包括步骤:
定义包含文档信息的服务接口信息,生成服务接口文件;
对所述服务接口文件进行编译,生成服务的API包、静态文档和元数据文件;
对所述元数据文件进行解析,获取服务接口信息中的文档信息;
根据获取到的文档信息,生成服务接口的动态文档。
一种服务接口文档生成装置,包括:
服务接口文件生成模块,用于定义包含文档信息的服务接口信息,生成服务接口文件;
服务接口文件编译模块,用于对所述服务接口文件进行编译,生成服务的API包、静态文档和元数据文件;
元数据文件解析模块,用于对所述元数据文件进行解析,获取服务接口信息中的文档信息;
服务接口动态文档生成模块,用于根据获取到的文档信息,生成服务接口的动态文档
本发明服务接口文档生成方法及装置,通过对服务接口文件编译生成服务的API包、静态文档和元数据文件,API包提供给服务开发者开发服务以及第三方调用服务,通过对元数据文件解析获取的文档信息生成动态文档。本发明根据元数据驱动转换,自动提取元数据,自动理清结构关系,准确自动生成服务接口文档(静态文档和动态文档),不需要人工逻辑参与,一键产生,快捷方便。而且,如果服务接口发生变更,服务接口文档会跟随接口变更自动更新,降低服务异常的风险。
一种服务接口在线测试工具生成方法,包括步骤:
定义服务接口信息,生成服务接口文件,其中服务接口信息包括文档信息、请求参数及其类型、返回类型;
对所述服务接口文件进行编译,生成服务的API包和元数据文件;
对所述元数据文件进行解析,获取服务接口信息;
根据获取到的服务接口信息,动态生成API的在线测试界面;
根据所述在线测试界面的响应消息显示请求数据和返回数据。
一种服务接口在线测试工具生成装置,包括:
接口文件生成模块,用于定义服务接口信息,生成服务接口文件,其中服务接口信息包括文档信息、请求参数及其类型、返回类型;
接口文件编译模块,用于对所述服务接口文件进行编译,生成服务的API包和元数据文件;
文件解析模块,用于对所述元数据文件进行解析,获取服务接口信息;
在线测试界面生成模块,用于根据获取到的服务接口信息,动态生成API的在线测试界面;
数据显示模块,用于根据所述在线测试界面的响应消息显示请求数据和返回数据。
本发明服务接口在线测试工具生成方法及装置,通过对服务接口文件编译生成服务的API包和元数据文件,API包提供给服务开发者开发服务以及第三方调用服务,根据元数据自动构造好该服务接口的测试场景,为每次API调用的输入输出数据,也即请求数据、返回数据自动加载好结构参数树,免去人工构造测试场景及测试逻辑的步骤,而且服务接口的请求参数及其类型是定义好的,能够根据服务接口的不同而自动匹配,无需手工添加参数行,提高了效率,保证了准确性。
附图说明
图1为本发明服务接口文档生成方法实施例的流程示意图;
图2为本发明定义的数据结构具体实施例的类图;
图3为本发明定义的服务接口文件具体实施例的示意图;
图4为本发明生成的元数据文件具体实施例的示意图;
图5为本发明生成的服务接口文档具体实施例的示意图;
图6为本发明服务接口文档生成装置实施例的结构示意图;
图7为本发明服务接口文件编译模块实施例的结构示意图;
图8为本发明服务接口动态文档生成模块实施例的结构示意图;
图9为本发明服务接口在线测试工具生成方法实施例的流程示意图;
图10为本发明生成的在线测试工具具体实施例的示意图;
图11为本发明服务接口在线测试工具生成装置实施例的结构示意图。
具体实施方式
本发明针对不同的服务提供服务接口文档和在线测试工具的“一键生成”功能,其中服务接口文档生成方法及装置、服务接口在线测试工具生成方法及装置均是基于对元数据文件的解析,而元数据文件是通过对服务接口文件编译得到的。为了更好的理解本发明,下面先对元数据的含义做简单介绍。
元数据(MetaData)是关于数据的数据或者叫做用来描述数据的数据或者叫做信息的信息,是信息共享和交换的基础和前提,用于描述数据集的内容、质量、表示方式、空间参考、管理方式以及数据集的其他特征。元数据具有以下特点:
1、元数据是关于数据的结构化的数据,它不一定是数字形式的,可来自不同的资源;
2、元数据是与对象相关的数据,此数据使其潜在的用户不必先具备对这些对象的存在和特征的完整认识;
3、元数据是对信息包裹的编码的描述;
4、元数据包含用于描述信息对象的内容和位置的数据元素集,促进了网络环境中信息对象的发现和检索;
5、元数据不仅对信息对象进行描述,还能够描述资源的使用环境、管理、加工、保存和使用等方面的情况;
6、在信息对象或***的生命周期中自然增加元数据;
7、元数据常规定义中的“数据”是表示事务性质的符号,是进行各种统计、计算、科学研究、技术设计所依据的数值,或是说数字化、公式化、代码化、图表化的信息。
在软件构造领域,元数据被定义为在程序中不是被加工的对象,而是通过其值的改变来改变程序的行为的数据。它在运行过程中起着以解释方式控制程序行为的作用。在程序的不同位置配置不同值的元数据,就可以得到与原来等价的程序行为。本发明即利用元数据性质实现服务接口文档和在线测试工具的自动生成。
为了更清晰的理解本发明,下面将结合附图对服务接口文档和在线测试工具生成的方法、装置分别进行详细介绍。
如图1所示,一种服务接口文档生成方法,包括步骤:
S110、定义包含文档信息的服务接口信息,生成服务接口文件;
S120、对所述服务接口文件进行编译,生成服务的API包、静态文档和元数据文件;
S130、对所述元数据文件进行解析,获取服务接口信息中的文档信息;
S140、根据获取到的文档信息,生成服务接口的动态文档。
服务接口信息采用基于Java(计算机编程语言)语言的IDL(InterfaceDescription Language,接口描述语言)进行定义。定义的服务接口信息包括服务基本信息、文档信息、服务策略信息、RESTful(Representational State Transfer)信息等,例如服务接口的名称及描述说明、数据类型、服务接口的错误码说明、字段实例值及默认值、字段是否为空的说明、输入参数等等。这些服务接口的元数据信息使用预设的数据结构存储。如图2所示,为本发明设计的支撑服务接口信息的数据结构实施例类图。可以采用代码加Annotation注解的形式定义服务接口信息。
如图3所示,为本发明采用IDL定义部分服务接口信息的具体实例。该示例中定义了结构体和枚举两种复杂数据类型,而结构体中又支持基本数据类型、List、Set、Map、嵌套递归结构体等复杂数据类型。代码中前面带有@的即为使用了Annotation注解来定义的服务接口信息。例如,@label和@doc标签会自动生成服务接口的名称和描述说明;@ErrorSets会自动生成服务接口的错误码的说明,字段的@sample_value会自动生成字段示例值,字段的@required或@optional会自动生成字段是否可以为空的说明;字段的@doc会自动生成字段的描述等等。
服务接口文件生成后,需要对其编译。本发明采用IDLC(Interface DescriptionLanguage Compiler,接口描述语言编译器)对服务接口文件进行编译,其中IDLC采用Scala(Scalable Language,可伸缩的语言)开发实现。对服务接口文件进行编译,即生成服务的API包、静态文档和元数据文件,其中API包提供给服务开发者开发服务以及第三方调用服务等,元数据文件驱动文档展示功能的实现。
元数据文件为服务的载体,描述了服务的一些必要信息,例如服务基本信息、文档信息、服务策略信息、RESTful信息等。如图4所示,为生成的元数据文件具体示例图,本发明的元数据文件以XML(Extensible Markup Language,可扩展标记语言)格式文件的形式存在等。
通过解析元数据文件,我们就可以获取服务接口信息,从而实现与服务相关的功能。由于元数据需通过一些特有的数据结构来存储信息,所以将服务接口信息存储到事先设计好的数据结构中,就可以利用这些信息来实现相关的功能,例如生成服务接口动态文档等。
服务接口文档可以分为静态文档和动态文档,一般通过网页的形式来展现。静态文档是针对单个服务的文档,也就是说每一个服务都有与之对应的静态文档,静态文档可以打包、拷贝。静态文档的生成发生在编译阶段,采用Scala语言对所述服务接口文件进行编译,步骤S120中生成静态文档的步骤可以包括:
编译时获取服务接口信息包含的文档信息,将获取的文档信息配以预设的UI(User Interface,用户界面)模板,生成HTML(Hyper Text Mark-up Language,超文本标记语言文件)代码,将生成的HTML代码写入对应的HTML文件中,生成静态文档。
动态文档是针对所有服务的文档,根据不同的服务展示其对应的文档内容,以动态网页的形式存在。采用TypeScript语言对所述元数据文件进行解析,步骤S140中生成动态文档的步骤可以包括:
将解析后获取到的文档信息配以预设的UI模板,动态操作DOM(Document ObjectModel,文件对象模型)树,生成动态文档。
如图5所示,为本发明根据输入的服务接口文件自动生成的服务接口文档具体实施例的示意图。可以看出,采用本发明方法实现的服务接口文档具有统一的样式,避免了由于文档编写者编译格式差异和语焉不详,造成的第三方调用者理解上的歧义。本发明服务接口文档自动生成,大大降低了服务接口文档编写的工作量,并保证了服务接口文档的准确性,并且服务接口文档会跟随接口代码的变更而自动更新,避免由于人工没有及时更新而造成的服务异常,同时服务接口文档具有丰富的展现能力,支持无限级的交叉引用等。
基于同一发明构思,本发明还提供一种服务接口文档生成装置,下面结合附图对本发明装置的具体实施方式做详细描述。
如图6所示,一种服务接口文档生成装置,包括:
服务接口文件生成模块610,用于定义包含文档信息的服务接口信息,生成服务接口文件;
服务接口文件编译模块620,用于对所述服务接口文件进行编译,生成服务的API包、静态文档和元数据文件;
元数据文件解析模块630,用于对所述元数据文件进行解析,获取服务接口信息中的文档信息;
服务接口动态文档生成模块640,用于根据获取到的文档信息,生成服务接口的动态文档。
服务接口信息采用IDL进行定义。定义的服务接口信息包括服务基本信息、文档信息、服务策略信息、RESTful信息等,例如服务接口的名称及描述说明、数据类型、服务接口的错误码说明、字段实例值及默认值、字段是否为空的说明、输入参数等等。这些服务接口的元数据信息使用预设的数据结构存储。服务接口文件生成模块610可以采用代码加Annotation注解的形式定义服务接口信息。
服务接口文件生成模块610生成服务接口文件后,服务接口文件编译模块620对服务接口文件进行编译,即生成服务的API包、静态文档和元数据文件,其中API包提供给服务开发者开发服务以及第三方调用服务等,元数据文件为XML格式文件,用于实现动态文档展示功能。
元数据文件解析模块630解析元数据文件,获取服务接口信息。服务接口动态文档生成模块640根据获取到的文档信息,生成服务接口的动态文档。
服务接口文档可以分为静态文档和动态文档,一般通过网页的形式来展现。当服务接口文档为静态文档时,服务接口文件编译模块620采用Scala语言对所述服务接口文件进行编译,如图7所示,所述服务接口文件编译模块620可以包括:
代码生成单元6201,用于编译时获取服务接口信息包含的文档信息,将获取的文档信息配以预设的UI模板,生成HTML代码;
静态文档生成单元6202,用于将生成的HTML代码写入对应的HTML文件中,生成静态文档。
动态文档是针对所有服务的文档,根据不同的服务展示其对应的文档内容,以动态网页的形式存在。当服务接口文档为动态文档时,元数据文件解析模块630采用TypeScript语言对所述元数据文件进行解析,如图8所示,服务接口动态文档生成模块640包括:
动态文档生成单元6401,用于将解析后获取到的文档信息配以预设的UI模板,动态操作DOM树,生成动态文档。
本发明服务接口文档自动生成,大大降低了服务接口文档编写的工作量,并保证了服务接口文档的准确性,并且服务接口文档会跟随接口代码的变更而自动更新,避免由于人工没有及时更新而造成的服务异常,同时服务接口文档具有丰富的展现能力,支持无限级的交叉引用等,具有统一的样式,避免了由于文档编写者编译格式差异和语焉不详,造成的第三方调用者理解上的歧义。
基于元数据文件解析的同一发明构思,本发明还提供一种服务接口在线测试工具生成方法,下面结合附图对本发明方法的具体实施方式做详细描述。
如图9所示,一种服务接口在线测试工具生成方法,包括步骤:
S910、定义服务接口信息,生成服务接口文件,其中服务接口信息包括文档信息、请求参数及其类型、返回类型;
S920、对所述服务接口文件进行编译,生成服务的API包和元数据文件;
S930、对所述元数据文件进行解析,获取服务接口信息;
S940、根据获取到的服务接口信息,动态生成API的在线测试界面;
S950、根据所述在线测试界面的响应消息显示请求数据和返回数据。
服务接口信息采用IDL进行定义。定义的服务接口信息包括服务基本信息、文档信息、服务策略信息、RESTful信息等,例如请求参数及其类型、返回类型、服务接口的名称及描述说明、数据类型、服务接口的错误码说明、字段实例值及默认值、字段是否为空的说明等等。这些服务接口的元数据信息使用预设的数据结构存储。为服务接口事先定义好相应的输入参数及其类型,则在进行在线测试时能够根据服务接口的不同而自动匹配,不需要手工添加参数行,提高了工作效率,保证了测试的准确性。可以采用代码加Annotation注解的形式定义服务接口信息。
生成服务接口文件后,采用IDLC对其进行编译,即生成服务的API包和元数据文件,其中API包提供给服务开发者开发服务以及第三方调用服务等,元数据文件为XML格式文件,用于实现在线测试功能。
在线测试工具以Web的形式展现,由于不同服务的元数据是不同的,前端需要对应地进行调整,所以前端需要一门动态语言来解析元数据,并能够操作DOM树。本发明利用TypeScript对元数据文件进行解析,它是一门面向对象的动态语言,兼容JavaScript,还具有Lambda函数,它的存在使得解析元数据变得简单而高效。通过解析元数据文件,获取服务接口信息,利用这些信息配以预设的UI模板自动生成在线测试界面,然后根据所述在线测试界面的响应消息显示请求数据和返回数据。
如图10所示,为本发明生成的在线测试工具实施例的示意图。前端根据元数据展示返回类型、服务名-版本号、方法名以及服务相关的请求参数的数据结构等。根据前端展示的界面输入相应的请求参数等,由于请求参数的数据类型是事先定义好的,所以可以设置请求参数Tips(提示)格式提示,自动校验输入的请求参数类型的合法性。后台收集请求数据并通过REST(Representational State Transfer,表述性状态传递)请求服务接口返回数据,将请求数据和返回数据展示到前端。
本发明根据元数据自动构造好相应测试场景,为每次API的调用的输入输出参数自动加载好结构参数树,免去人工构造测试场景及测试逻辑的步骤;支持基本数据类型和复杂数据类型,支持无限层级;JSON/XML格式的数据展示,可以全部展开/收起,界面美观大方;还可以设置帮助信息Tips,鼠标移动到字段名上即可展现字段说明;支持保存和载入测试数据,高效管理测试数据,提高用户体验;在线测试工具可以根据服务接口的变更自动更新,提高了效率和准确性。
本发明方法关于元数据文件生成的其它技术特征与上述服务接口文档生成方法和装置相同,在此不予赘述。
基于同一发明构思,本发明还提供一种服务接口在线测试工具生成装置,下面结合附图对本发明装置的具体实施方式做详细描述。
如图11所示,一种服务接口在线测试工具生成装置,包括:
接口文件生成模块1110,用于定义服务接口信息,生成服务接口文件,其中服务接口信息包括文档信息、请求参数及其类型、返回类型;
接口文件编译模块1120,用于对所述服务接口文件进行编译,生成服务的API包和元数据文件;
文件解析模块1130,用于对所述元数据文件进行解析,获取服务接口信息;
在线测试界面生成模块1140,用于根据获取到的服务接口信息,动态生成API的在线测试界面;
数据显示模块1150,用于根据所述在线测试界面的响应消息显示请求数据和返回数据。
服务接口信息采用IDL进行定义。定义的服务接口信息包括服务基本信息、文档信息、服务策略信息、RESTful信息等,例如请求参数及其类型、返回类型、服务接口的名称及描述说明、数据类型、服务接口的错误码说明、字段实例值及默认值、字段是否为空的说明等等。这些服务接口的元数据信息使用预设的数据结构存储。为服务接口事先定义好相应的输入参数及其类型,则在进行在线测试时能够根据服务接口的不同而自动匹配,不需要手工添加参数行,提高了工作效率,保证了测试的准确性。接口文件生成模块1110可以采用代码加Annotation注解的形式定义服务接口信息。
接口文件生成模块1110生成服务接口文件后,接口文件编译模块1120采用IDLC对其编译,生成服务的API包和元数据文件,其中API包提供给服务开发者开发服务以及第三方调用服务等,元数据文件为XML格式文件,用于实现在线测试功能。
在线测试工具以Web的形式展现,由于不同服务的元数据是不同的,前端需要对应地进行调整,所以文件解析模块1130可以利用TypeScript对元数据文件进行解析。文件解析模块1130通过解析元数据文件,获取服务接口信息。在线测试界面生成模块1140将服务接口信息配以预设的UI模板,自动生成在线测试界面,然后数据显示模块1150根据所述在线测试界面的响应消息显示请求数据和返回数据。
本发明根据元数据自动构造好相应测试场景,为每次API的调用的输入输出参数自动加载好结构参数树,免去人工构造测试场景及测试逻辑的步骤;支持基本数据类型和复杂数据类型,支持无限层级;JSON/XML格式的数据展示,可以全部展开/收起,界面美观大方;可以设置请求参数Tips格式提示,自动校验输入的请求参数类型的合法性;可以设置帮助信息Tips,鼠标移动到字段名上即可展现字段说明;支持保存和载入测试数据,高效管理测试数据,提高用户体验;在线测试工具可以根据服务接口的变更自动更新,提高了效率和准确性。
本发明服务接口在线测试工具生成装置其它技术特征与上述服务接口在线测试工具生成方法相同,在此不予赘述。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种服务接口文档生成方法,其特征在于,包括步骤:
定义包含文档信息的服务接口信息,生成服务接口文件;
对所述服务接口文件进行编译,生成服务的API包、静态文档和元数据文件;
对所述元数据文件进行解析,获取服务接口信息中的文档信息;
根据获取到的文档信息,生成服务接口的动态文档,通过动态网页的形式展现所述动态文档;
其中,服务接口信息采用IDL进行定义,采用IDLC对服务接口文件进行编译;
其中,所述对所述元数据文件进行解析,获取服务接口信息中的文档信息;根据获取到的文档信息,生成服务接口的动态文档,包括:
采用TypeScript语言对所述元数据文件进行解析,将解析后获取到的文档信息配以预设的UI模板,动态操作DOM树,生成动态文档。
2.根据权利要求1所述的服务接口文档生成方法,其特征在于,服务接口文档包括静态文档和动态文档;
采用Scala语言对所述服务接口文件进行编译,生成静态文档的步骤包括:编译时获取服务接口信息包含的文档信息,将获取的文档信息配以预设的UI模板,生成HTML代码,将生成的HTML代码写入对应的HTML文件中,生成静态文档。
3.根据权利要求1或2所述的服务接口文档生成方法,其特征在于,服务接口信息还包括服务基本信息、服务策略信息、RESTful信息;采用代码和Annotation注解定义服务接口信息。
4.一种服务接口在线测试工具生成方法,其特征在于,包括步骤:
定义服务接口信息,生成服务接口文件,其中服务接口信息包括文档信息、请求参数及其类型、返回类型;
对所述服务接口文件进行编译,生成服务的API包和元数据文件;
对所述元数据文件进行解析,获取服务接口信息;
根据获取到的服务接口信息,动态生成API的在线测试界面;
根据所述在线测试界面的响应消息显示请求数据和返回数据;
其中,服务接口信息采用IDL进行定义,采用IDLC对服务接口文件进行编译;
其中,所述对所述元数据文件进行解析,获取服务接口信息;根据获取到的服务接口信息,动态生成API的在线测试界面,包括:
利用TypeScript对元数据文件进行解析,通过解析元数据文件,获取服务接口信息,利用这些服务接口信息配以预设的UI模板自动生成在线测试界面。
5.根据权利要求4所述的服务接口在线测试工具生成方法,其特征在于,采用代码和Annotation注解定义服务接口信息。
6.一种服务接口文档生成装置,其特征在于,包括:
服务接口文件生成模块,用于定义包含文档信息的服务接口信息,生成服务接口文件;
服务接口文件编译模块,用于对所述服务接口文件进行编译,生成服务的API包、静态文档和元数据文件;
元数据文件解析模块,用于对所述元数据文件进行解析,获取服务接口信息中的文档信息;
服务接口动态文档生成模块,用于根据获取到的文档信息,生成服务接口的动态文档,通过动态网页的形式展现所述动态文档;
其中,服务接口信息采用IDL进行定义,采用IDLC对服务接口文件进行编译;
其中,元数据文件解析模块采用TypeScript语言对所述元数据文件进行解析;所述服务接口动态文档生成模块将解析后获取到的文档信息配以预设的UI模板,动态操作DOM树,生成动态文档。
7.根据权利要求6所述的服务接口文档生成装置,其特征在于,服务接口文档包括静态文档和动态文档;
服务接口文件编译模块采用Scala语言对所述服务接口文件进行编译;所述服务接口文件编译模块包括:代码生成单元和静态文档生成单元,代码生成单元用于编译时获取服务接口信息包含的文档信息,将获取的文档信息配以预设的UI模板,生成HTML代码;静态文档生成单元用于将生成的HTML代码写入对应的HTML文件中,生成静态文档。
8.根据权利要求6或7所述的服务接口文档生成装置,其特征在于,服务接口信息还包括服务基本信息、服务策略信息、RESTful信息;服务接口文件生成模块采用代码和Annotation注解定义服务接口信息。
9.一种服务接口在线测试工具生成装置,其特征在于,包括:
接口文件生成模块,用于定义服务接口信息,生成服务接口文件,其中服务接口信息包括文档信息、请求参数及其类型、返回类型;
接口文件编译模块,用于对所述服务接口文件进行编译,生成服务的API包和元数据文件;
文件解析模块,用于对所述元数据文件进行解析,获取服务接口信息;
在线测试界面生成模块,用于根据获取到的服务接口信息,动态生成API的在线测试界面;
数据显示模块,用于根据所述在线测试界面的响应消息显示请求数据和返回数据;
其中,服务接口信息采用IDL进行定义,采用IDLC对服务接口文件进行编译;
其中,所述文件解析模块利用TypeScript对元数据文件进行解析,获取服务接口信息;所述在线测试界面生成模块利用这些服务接口信息配以预设的UI模板自动生成在线测试界面。
10.根据权利要求9所述的服务接口在线测试工具生成装置,其特征在于,接口文件生成模块采用代码和Annotation注解定义服务接口信息。
CN201410850960.7A 2014-12-29 2014-12-29 服务接口文档和在线测试工具生成方法、装置 Active CN104484216B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410850960.7A CN104484216B (zh) 2014-12-29 2014-12-29 服务接口文档和在线测试工具生成方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410850960.7A CN104484216B (zh) 2014-12-29 2014-12-29 服务接口文档和在线测试工具生成方法、装置

Publications (2)

Publication Number Publication Date
CN104484216A CN104484216A (zh) 2015-04-01
CN104484216B true CN104484216B (zh) 2018-03-16

Family

ID=52758760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410850960.7A Active CN104484216B (zh) 2014-12-29 2014-12-29 服务接口文档和在线测试工具生成方法、装置

Country Status (1)

Country Link
CN (1) CN104484216B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775607A (zh) * 2015-11-24 2017-05-31 中国直升机设计研究所 一种将接口控制文件自动生成头文件数据接口的方法
CN105677326B (zh) * 2015-12-28 2019-03-22 国云科技股份有限公司 一种软件接口参数验证方法
CN106598851A (zh) * 2016-12-05 2017-04-26 广州唯品会信息科技有限公司 软件接口测试方法及***
CN106685943A (zh) * 2016-12-21 2017-05-17 上海斐讯数据通信技术有限公司 服务器soa服务接口暴露的控制方法、***及服务器
CN107423105A (zh) * 2017-06-19 2017-12-01 上海高顿教育培训有限公司 一种接口文档的自动生成方法
CN107463376A (zh) * 2017-07-21 2017-12-12 珠海牛角科技有限公司 基于Javadoc的自动生成后端接口文档的方法及装置
CN107515771A (zh) * 2017-09-07 2017-12-26 蓝海天网科技有限公司 基于SpringMVC的API文档生成方法及***
CN107885499A (zh) * 2017-10-19 2018-04-06 平安壹钱包电子商务有限公司 一种接口文档生成方法及终端设备
CN108874461B (zh) * 2017-11-30 2021-05-14 视联动力信息技术股份有限公司 一种视联网模块的加载方法及视联网终端
CN108427560A (zh) * 2018-01-11 2018-08-21 平安科技(深圳)有限公司 Api文件管理方法、服务器及存储介质
CN108509337A (zh) * 2018-03-15 2018-09-07 链家网(北京)科技有限公司 基于接口调用的动态测试方法和装置
CN108563573A (zh) * 2018-04-13 2018-09-21 中国民航信息网络股份有限公司 一种自动化服务测试工具生成方法
CN109062801B (zh) * 2018-08-01 2021-09-14 四川长虹电器股份有限公司 软件接口自动转换***
CN109375922A (zh) * 2018-09-26 2019-02-22 深圳壹账通智能科技有限公司 一种接口文档的自动生成方法及终端设备
CN109408375B (zh) * 2018-09-27 2023-06-09 深圳壹账通智能科技有限公司 接口文档的生成方法和装置
CN111614604B (zh) * 2019-02-26 2022-06-14 阿里巴巴集团控股有限公司 一种代码文件生成方法和装置
CN110083523A (zh) * 2019-03-13 2019-08-02 中国平安人寿保险股份有限公司 接口测试方法、装置、计算机装置、及可读存储介质
CN110377336A (zh) * 2019-06-17 2019-10-25 平安普惠企业管理有限公司 接口文档生成方法、装置、计算机设备和存储介质
CN110716878B (zh) * 2019-10-11 2023-09-26 赛诺贝斯(北京)营销技术股份有限公司 一种接口自动化测试方法、装置及***
CN111078535A (zh) * 2019-11-28 2020-04-28 广州及包子信息技术咨询服务有限公司 一种快速提供自动化测试执行能力的方法及***
CN111510330B (zh) * 2020-04-10 2023-08-18 中国联合网络通信集团有限公司 接口管理装置、方法及存储介质
CN111880778B (zh) * 2020-06-30 2023-12-22 百度在线网络技术(北京)有限公司 接口文档的生成方法、装置、电子设备及存储介质
CN112612461B (zh) * 2020-12-28 2023-07-25 浪潮通用软件有限公司 一种erp***中统一管理和发布安全api接口的方法
CN113296763B (zh) * 2021-05-24 2023-07-04 北京思特奇信息技术股份有限公司 一种应用能力管理方法及***
CN114371894B (zh) * 2021-12-08 2023-11-17 贵州开放大学(贵州职业技术学院) 一种管理元数据的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055522A (zh) * 2007-05-31 2007-10-17 杭州华三通信技术有限公司 一种自动生成单元测试例的方法和装置
CN102368217A (zh) * 2011-10-20 2012-03-07 镇江睿泰信息科技有限公司 一种元数据驱动的rest风格应用开发方法与***
CN103049271A (zh) * 2012-12-27 2013-04-17 微梦创科网络科技(中国)有限公司 自动生成api接口的描述文档的方法和装置
CN103984554A (zh) * 2014-05-26 2014-08-13 中国工商银行股份有限公司 软件设计文档的生成方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055522A (zh) * 2007-05-31 2007-10-17 杭州华三通信技术有限公司 一种自动生成单元测试例的方法和装置
CN102368217A (zh) * 2011-10-20 2012-03-07 镇江睿泰信息科技有限公司 一种元数据驱动的rest风格应用开发方法与***
CN103049271A (zh) * 2012-12-27 2013-04-17 微梦创科网络科技(中国)有限公司 自动生成api接口的描述文档的方法和装置
CN103984554A (zh) * 2014-05-26 2014-08-13 中国工商银行股份有限公司 软件设计文档的生成方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Swagger-UI基于REST的API测试/文档类插件;amuropikin;《blog.csdn.net/amuropikin/article/details/8075311?LocationNum=5》;20121016;第2-4段,图1 *
使用Javadoc自动生成标准API文档;谢艳芳;《天津职业院校联合学报》;20130725;第15卷(第7期);103-106 *
告别手写API文档生成工具推荐;张红月;《csdn.net/article/2013-02-20/2814189-API_DOC_TOOLS 》;20130220;第4段 *
基于JScript脚本技术的SVG文档的DOM解析;李广丽 等;《计算机与现代化》;20050430(第4期);111-113 *

Also Published As

Publication number Publication date
CN104484216A (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
CN104484216B (zh) 服务接口文档和在线测试工具生成方法、装置
Patni Pro RESTful APIs
Pautasso Composing restful services with jopera
US8504913B2 (en) Client-side components
Bagheri et al. Software architectural principles in contemporary mobile software: from conception to practice
Fill SeMFIS: a flexible engineering platform for semantic annotations of conceptual models
US20120102414A1 (en) Distributed controller of a user interface framework for web applications
Kapitsaki et al. Model-driven development of composite context-aware web applications
US20090235230A1 (en) System and method for presentation of cross organizational applications
US20120166977A1 (en) User programming access to data model in user interface design
CN103645908A (zh) 网构软件全生命周期开发实现***
Zuzak et al. A finite-state machine approach for modeling and analyzing restful systems
Palviainen et al. A semi-automatic end-user programming approach for smart space application development
Aslam et al. From bpel4ws process model to full owl-s ontology
US20120102406A1 (en) Composition model for components of a user interface framework for web applications
Rademacher et al. Design of a domain-specific language based on a technology-independent web service framework
Tiwari et al. AdvancED Flex 4
Sun et al. A demonstration-based model transformation approach to automate model scalability
Picozzi End user develompent of mashups: models, composition paradigms and tools
Marino et al. HTML5 visual composition of rest-like web services
Tran Introduction to web sevices with Java
Ginzburg et al. Oblivious integration of volatile functionality in web application interfaces
Pohja Web application user interface technologies
Freudenstein et al. A workflow-driven approach for the efficient integration of web services in portals
CN111367515B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20171215

Address after: 510000 Guangzhou City, Guangzhou, Guangdong, Fangcun Avenue, one of the 314 self compiled

Applicant after: Guangzhou Pinwei Software Co., Ltd.

Address before: 510000 Liwan District, Guangzhou, Fangcun Road, No. 314, the middle of the road by the self written on the road, No. two,

Applicant before: GUANGZHOU VIP NETWORK TECHNOLOGY CO., LTD.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220110

Address after: 510000 Room 601, 128 Dingxin Road, Haizhu District, Guangzhou City, Guangdong Province (office only)

Patentee after: Vipshop (Guangzhou) Software Co.,Ltd.

Address before: 510000 No. 314, Fangcun Avenue, Liwan District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU PINWEI SOFTWARE Co.,Ltd.