CN110377336A - 接口文档生成方法、装置、计算机设备和存储介质 - Google Patents

接口文档生成方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110377336A
CN110377336A CN201910522410.5A CN201910522410A CN110377336A CN 110377336 A CN110377336 A CN 110377336A CN 201910522410 A CN201910522410 A CN 201910522410A CN 110377336 A CN110377336 A CN 110377336A
Authority
CN
China
Prior art keywords
interface
item file
document
interface document
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.)
Pending
Application number
CN201910522410.5A
Other languages
English (en)
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201910522410.5A priority Critical patent/CN110377336A/zh
Publication of CN110377336A publication Critical patent/CN110377336A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及基架运维技术领域,提供一种接口文档生成方法、装置、计算机设备和存储介质,当监听到接口代码提交操作时,自动下载与接口代码对应的项目文件,使得能够在下载好的项目文件中随时查看接口,无需依赖服务器的启动,并且,当检测到项目文件中有接口发生更新时,才开始解析项目文件,避免每次下载完成项目文件后都进入项目文件解析,造成系统资源的浪费,此外,项目文件中的接口都维护有自定义注解,方便定义返回类型不是实体对象时的参数,将接口的出参以及入参定义为DTO对象,能够存放非实体对象的接口返回结果字段,并进行数据传输,使得生成的接口文档中能够显示非实体对象的返回字段的说明,提高了适用性。

Description

接口文档生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种接口文档生成方法、装置、计算机设备和存储介质。
背景技术
在项目文件开发中,Web项目文件的前后端分离开发,为了前后端工程师能利用统一的文件进行沟通开发,需要由前后端工程师共同定义接口,编写接口文档,以便其他开发人员能够根据统一的接口文档清楚地了解相应的接口,进而进行项目文件的开发以及维护。
接口文档用于描述接口的属性,例如描述接口的输入参数的格式、输出参数的格式或通信协议等。传统的接口文档需要开发人员自行编写,当代码每次有更新的时候,都需要人工更改,费时费力。故市面上出现了在线自动生成接口文档的软件工具,例如使用度颇高的Swagger。
虽然该软件工具支持动态生成接口文档和接口的在线调试,但其需要依赖于服务器的启动,查看接口需要依赖服务器的启动才能进行,并且,软件工具通常只支持返回类型为实体对象的数据,当系统设计的接口返回类型不是实体对象时,该软件工具无法在接口文档页面中显示返回结果的字段说明,比如返回的类型为json以及Map类型时,均无法在接口文档页面上显示相应的返回的字段备注说明,因此,现有的生成接口文档的方案适用性不高。
发明内容
基于此,有必要针对现有现在生成接口文档的方案适用性不高的问题,提供一种接口文档生成方法、装置、计算机设备和存储介质。
一种接口文档生成方法,包括:
当监听到接口代码提交操作产生时,下载与接口代码记录对应的项目文件,项目文件中接口的出参和入参的类型为数据传输对象DTO(Data Transfer Object,DTO);
对项目文件执行代码分析检测;
当检测到项目文件中有接口发生更新时,解析项目文件,获取项目文件中接口的注释以及自定义注解;
根据接口的注释以及自定义注解,生成接口文档,接口文档包括生成的与更新的接口对应的DTO。
在其中一个实施例中,根据接口的注释以及自定义注解,生成接口文档之后,还包括:
调用预设邮件发送工具类,发送通知邮件至与项目文件关联的邮箱,通知邮件附带更新的接口对应的DTO。
在其中一个实施例中,根据接口的注释以及自定义注解,生成接口文档之后,还包括:
将生成的接口文档存储于预设数据库。
在其中一个实施例中,将生成的接口文档存储于预设数据库之后,还包括:
获取接口文档对应的系统名称以及版本号;
根据系统名称以及版本号,分类展示接口文档。
在其中一个实施例中,还包括:
当监听接口文档的导出操作时,从预设数据库中获取与导出操作对应的接口文档、并导出接口文档。
在其中一个实施例中,项目文件包括Javadoc文件以及Class文件,获取项目文件中接口的注释以及自定义注解包括:
获取Javadoc文件的Javadoc注释以及Class文件的自定义注解。
一种接口文档生成装置,包括:
数据下载模块,用于当监听到接口代码提交操作产生时,下载与接口代码记录对应的项目文件,项目文件中接口的出参和入参的类型为DTO;
代码检测模块,用于对项目文件执行代码分析检测,检测项目文件中是否有接口发生更新;
数据解析模块,用于当检测到项目文件中有接口发生更新时,解析项目文件,获取项目文件中接口的注释以及自定义注解;
接口文档生成模块,用于根据接口的注释以及自定义注解,生成接口文档,接口文档包括生成的与更新的接口对应的DTO。
在其中一个实施例中,接口文档生成装置还包括:
邮件发送模块,用于调用预设邮件发送工具类,发送通知邮件至与项目文件关联的邮箱,通知邮件附带更新的接口对应的DTO。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当监听到接口代码提交操作产生时,下载与接口代码记录对应的项目文件,项目文件中接口的出参和入参的类型为DTO;
对项目文件执行代码分析检测;
当检测到项目文件中有接口发生更新时,解析项目文件,获取项目文件中接口的注释以及自定义注解;
根据接口的注释以及自定义注解,生成接口文档,接口文档包括生成的与更新的接口对应的DTO。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当监听到接口代码提交操作产生时,下载与接口代码记录对应的项目文件,项目文件中接口的出参和入参的类型为DTO;
对项目文件执行代码分析检测;
当检测到项目文件中有接口发生更新时,解析项目文件,获取项目文件中接口的注释以及自定义注解;
根据接口的注释以及自定义注解,生成接口文档,接口文档包括生成的与更新的接口对应的DTO。
上述接口文档生成方法、装置、计算机设备和存储介质,当监听到接口代码提交操作时,自动下载与接口代码对应的项目文件,使得能够在下载好的项目文件中随时查看接口,无需依赖服务器的启动,并且,当检测到项目文件中有接口发生更新时,才开始解析项目文件,避免每次下载完成项目文件后都进入项目文件解析,造成系统资源的浪费,此外,项目文件中的接口都维护有自定义注解,方便定义返回类型不是实体对象时的参数,将接口的出参以及入参定义为DTO对象,能够存放非实体对象的接口返回结果字段,并进行数据传输,使得生成的接口文档中能够显示非实体对象的返回字段的说明,提高了适用性。
附图说明
图1为一个实施例中接口文档生成方法的应用环境图;
图2为一个实施例中接口文档生成方法的流程示意图;
图3为一个实施例中接口文档生成方法的详细流程示意图;
图4为一个实施例中接口文档生成装置的结构框图;
图5为另一个实施例中接口文档生成装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的接口文档生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104当监听到接口代码提交操作产生时,下载并编译接口代码对应的项目文件,然后,对下载的项目文件执行代码分析检测检测,当检测到项目文件中接口发生更新后,解析项目文件,获取整个项目文件中的接口的注释以及自定义注解,根据接口的注释以及自定义注解,生成接口文档。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104以接口管理系统的后台服务器为例进行解释说明,以下简称服务器,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种接口文档生成方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S200,当监听到接口代码提交操作产生时,下载与接口代码记录对应的项目文件,项目文件中接口的出参和入参的类型为DTO。
接口即为API(Application Programming Interface,应用程序编程接口),是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件而又无需访问源码得以访问一组例程的能力。DTO作为一种数据传输对象,是解决系统在客户端和服务器端之间高效、安全地进行数据传输的方式,也是一组需要跨进程或网络边界传输的聚合数据的简单容器,它封装了要传送的批量的数据,当客户端需要读取服务器端的数据的时候,服务器端将数据封装在DTO中,这样客户端就可以在一个网络调用中获得它需要的所有数据。在实际应用中,一般开发人员会将开发的项目文件所有的版本信息都提交至版本管理工具,便于对项目文件的集中开发与管理。版本管理工具是指能够提供完备的版本管理功能的软件,可用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具。版本控制工具也就是把团队每个成员修改的代码做一次备份,每提交或签入一次都会有记录,具有避免重复拷贝,集中管理的特点。版本管理工具中,流行的有主要是Git和SVN(Subversion,SVN)。其中,SVN属于集中式代表,Git属于分布式代表。本实施例中,版本管理工具以SVN为例,服务器实时监听SVN是否有接口代码提交操作,一旦监听到SVN有代码提交操作产生时,便触发分析任务,通过脚本自动从SVN上下载与接口代码记录对应的项目文件,然后并编译该项目文件。该项目文件中的接口都维护有自定义注释,其接口的参数(出参以及入参)为DTO,且为避免接口的混用,每个接口都有自己独立的出参以及入参,为保证接口参数的正确性,大部分字段可以设置一个公用的DTO,再通过新建子类继承该DTO。对于接口传入json格式的字符串时,注释也按照DTO的类型书写,但前提是接口的消费方用的是json格式的传输方式。对于接口入参类型为Map时,需要将Map类型的入参转换为一个Bean对象,然后并进行数据传输,所有Map里的key对应为Bean里对应的成员变量,而DTO实际就是Bean的一种。本实施例中,通过将接口参数定义为DTO,能够实现Map类型的入参和Map类型的出参转换为DTO、并生成新的DTO,使得接口控制器能够支持Map类型的入参和Map类型的出参的传递,并且将数据封装于DTO中,能够实现数据的高效传输。
步骤S300,对项目文件执行代码分析检测。
当通过脚本下载与接口代码提交操作对应的项目文件后,然后遍历该项目文件,对项目文件执行代码分析检测,检测项目文件的接口是否发生更新,当检测到接口更新后,便加载项目文件所有依赖jar包,开始分析整个项目文件,获取项目文件中接口的注释以及自定义注解,若检测到项目文件没有接口发生更新时,便不进入分析任务,继续监听接口代码提交操作。
步骤S400,当检测项目文件中有接口发生更新时,解析项目文件,获取项目文件中接口的注释以及自定义注解。
在软件开发中,注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。其是开发人员编写程序时,给一个语句、程序段以及函数等的解释或提示,能提高程序代码的可读性。注释包括单行注释、多行注释以及文本注释,注释可以用来自动生成文档。在jdk中,可通过javadoc工具从源文件中提取注释生成HTML(Hyper Text MarkupLanguage,超文本标记语言)文档。注解与注释是有一定区别的,注解是以‘@注解名’在代码中存在的,根据注解参数的个数,可以将注解分为:标记注解、单值注解以及完整注解三类,注解可以在编译、类加载以及运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。本实施例中,项目文件开发语言为Java,当开发人员进行项目文件开发时,会使用标准的Javadoc格式规范书写接口注释,并在接口的实现代码中加上自定义的注解。当检测项目文件中有接口发生更新时,加载项目文件所有的依赖jar包,解析项目文件,获取整个项目文件中接口的注释以及自定义注解。
步骤S400,根据接口的注释以及自定义注解,生成接口文档,接口文档包括生成的与更新的接口对应的DTO。
实际应用中,开发人员在项目文件的接口实现代码中定义好自定义注解,在自定义注解时,可以指定目标(类、方法、字段以及构造函数等)、注解的生命周期、是否将注解包含在javadoc中以及是否允许子类继承父类中的注解等。项目文件支持多种自定义注解,以其中一个接口为例,其接口自定义注解包括@ph_desc,表示接口描述、@ph_request,表示请求参数Map的包名+类名、@ph_response,表示返回参数map的包名+类名,注释即为项目文件语句、程序段以及函数等的解释或提示。服务器获取自定义注解以及注释,将自定义注解以及注释整合在一起,通过反射、类加载等技术获取发生更新的接口的参数,生成更新后的接口对应的DTO,进而生成线上的接口文档,实现接口文档与接口的同步更新。
上述接口文档生成方法,当监听到接口代码提交操作时,自动下载与接口代码对应的项目文件,使得能够在下载好的项目文件中随时查看接口,无需依赖服务器的启动,并且,当检测到项目文件中有接口发生更新时,才开始解析项目文件,避免每次下载完成项目文件后都进入项目文件解析,造成系统资源的浪费,此外,项目文件中的接口都维护有自定义注解,方便定义返回类型不是实体对象时的参数,将接口的出参以及入参定义为DTO对象,能够存放非实体对象的接口返回结果字段,并进行数据传输,使得生成的接口文档中能够显示非实体对象的返回字段的说明,提高适用性。
在其中一个实施例中,项目文件包括Javadoc文件以及Class文件,获取项目文件中接口的注释以及自定义注解包括:获取Javadoc文件的Javadoc注释以及Class文件的自定义注解。
Javadoc能从程序源代码中抽取类、方法以及成员等注释形成一个和源代码配套的API(接口)帮助文档。具体的,Javadoc可以为Java文件中的属性为public和protected的成员进行标准的文档注释,Javadoc命令是用来生成API(接口)文档,也就是javadoc文件,生成的javadoc文件包括用标准格式Javadoc格式书写的接口文档注释,获取Javadoc文件的Javadoc注释包括获取Javadoc文件中类注释以及方法注释。Class文件即为类文件,是服务器通过分析依赖管理文件下载系统项目文件中需要的依赖jar包后生成的,然后通过反射获取Class文件的自定义注解,具体的,获取Class文件的自定义注解包括获取类注解、类方法的注解以及方法入参的注解,更进一步的,获取类注解包括获取类名以及接口名,获取类方法注解包括获取方法名以及请求路径,获取方法入参包括获取参数类型以及参数来源。本实施例中,获取Javadoc格式的注释,其注释格式标准且统一,提高接口文档的可读性。
如图3所示,在其中一个实施例中,根据接口的注释以及自定义注解,生成接口文档之后,还包括:步骤S500,调用预设邮件发送工具类,发送通知邮件至与项目文件关联的邮箱,通知邮件附带更新的接口对应的DTO。
为提高项目文件的开发效率,当有开发人员更改接口后,需要及时通知其他开发人员接口已发生变更,避免项目文件发生不必要的错误。故可在服务器生成接口文档之后,发送提醒消息至项目文件相关负责人。本实施例中,服务器在生成接口文档后,调用预设的邮件发送工具类,发送通知邮件至项目文件关联的邮箱。发送通知邮件之前,还包括定义邮件配置类和邮件发送工具类。具体的,邮件配置类包括定义邮箱登录名、邮箱登录密码、邮件发送协议、发送者名称、加密类型以及邮箱服务器端口等参数,在项目文件启动时,服务器读取该邮件配置类至项目文件中,开启邮件发送功能;发送邮件工具类中定义好邮件收件人、抄送人、主题以及邮件内容等参数。每当服务器检测到接口文档发生修改后,调用发送邮件工具类,发送通知邮件至项目文件关联的相关人员的邮箱。其中,邮件内容中携带修改后的接口对应的DTO。可以理解的是,通知项目文件相关人员接口变动的方式不限于发送邮件,也可以是发送短信或者是消息提醒等其他通知方式,在此不做限制。通过邮件通知的方式,能够让系统相关人员及时知道接口变更,节省后续开发或维护过程中沟通成本。
如图3所示,在其中一个实施例中,根据接口的注释以及自定义注解,生成接口文档之后,还包括:步骤S550,将生成的接口文档存储于预设数据库。
为方便接口文档的随时查看,需要将接口文档进行持久化存储。服务器在生成接口文档后,将生成的接口文档存储于预设数据库中。具体的,预设数据库也可以为MySQL、SQL Server、Oracle、Sybase以及DB2等数据库,具体的数据库可根据实际情况而定,在此不做限定。可以理解的是,接口文档的存储路径不一定是数据库,也可以是指定的文件夹或者其他存储路径。将接口文档存储于数据库中,可实现对接口文档的集中管理,且在服务器未启动的情况下,也能随时查看接口文档。
在其中一个实施例中,将生成的接口文档存储于预设数据库之后,还包括:步骤S600,获取接口文档对应的系统名称以及版本号,根据系统名称以及版本号,分类展示接口文档。
由于每次接口变更,都会生成相应的接口文档,且可能多个系统的接口文档都存储在一起,当接口文档的数量到达一定数值时,会造成接口文档的混乱,不便于接口文档的查看。故需要对接口文档进行进一步的管理,方便接口文档的查看。本实施例中,在服务器将所有系统生成的接口文档存储于预设数据库之后,服务器在将所有项目文件生成的接口文档存储于数据库后,可以通过各种形式展示该接口文档。具体的,服务器从数据库中提取接口文档,获取该接口文档的系统名称以及版本号,根据系统名称加版本号的命名格式,将接口文档分类展示于统一管理页面上。可以理解的是,分类展示接口文档的方式还可以是其他方式,具体可根据实际情况而定,在此不做限定。其中,在生成接口文档时,服务器会从预设的版本号序列中,读取一个未被分配使用的版本号作为当前时刻所生成的接口文档的版本号。版本号是代码版本的一个标识号,每一次生成的接口文档都有一个对应的版本号。本实施例中,通过按照系统名称加版本号的方式展示接口文档,使得开发人员在升级接口时,能够通过系统名称以及所展示的版本号,直观地了解到自己所调用的接口代码是否为最新版本的接口,保证不同开发人员能够基于版本号相同的接口代码,共同执行开发操作,避免接口代码版本号不一致的情况出现。
如图3所示,在其中一个实施例中,还包括:步骤S700,当监听到接口文档的导出操作时,从预设数据库中获取与导出操作对应的接口文档、并导出接口文档。
在实际应用中,当用户登录接口管理系统后,可以查询自己系统对应的接口信息。具体的,用户在搜索框内输入要查询的系统名称和版本号,点击“explore”按钮,服务器响应“explore”按钮的监听事件,将对应的接口信息(包括接口文档)展示于接口统一管理页面上,在接口统一页面上,在展示的接口文档设置有对应的“导出按钮”,用于导出接口文档,当监听到接口文档的导出操作时,服务器响应该点击事件,从预设数据库中获取与导出操作对应的接口文档,并将该接口文档导出,实现接口文档的一键导出。其中,存储导出过程包括将接口的入参和出参重新转换为DTO类型,接口文档的导出格式包括Word格式以及PDF格式,可以理解的是,导出格式还可以是json格式、HTML格式以及其他格式。本实施例中,通过接口文档的一键导出,可使用户将需要查看的接口文档导出至指定地址,实现随时随地查看接口文档,进一步完善了接口文档的集中管理。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种接口文档生成装置,包括:数据下载模块410、代码检测模块420、数据解析模块430和接口文档生成模块440,其中:
数据下载模块420,用于当监听到接口代码提交操作产生时,下载与接口代码记录对应的项目文件,项目文件中接口的出参和入参的类型为DTO。
代码检测模块420,用于对项目文件执行代码分析检测。
数据解析模块430,用于当检测到项目文件中的接口发生更新时,解析项目文件,获取项目文件中接口的注释以及自定义注解。
接口文档生成模块440,用于根据接口的注释以及自定义注解,生成接口文档,接口文档包括生成的与更新的接口对应的DTO。
在其中一个实施例中,数据解析模块430还用于获取Javadoc文件的Javadoc注释以及Class文件的自定义注解。
如图5所示,在其中一个实施例中,接口文档生成装置还包括邮件发送模块450,用于调用预设邮件发送工具类,发送通知邮件至与项目文件关联的邮箱,通知邮件附带更新的接口对应的DTO。
如图5所示,在其中一个实施例中,接口文档生成装置还包括数据存储模块460,用于将生成的接口文档存储于预设数据库。
如图5所示,在其中一个实施例中,接口文档生成装置还包括数据展示模块470,用于获取接口文档对应的系统名称以及版本号,根据系统名称以及版本号,分类展示接口文档。
在其中一个实施例中,接口文档生成装置还包括数据导出模块480,用于当监听接口文档的导出操作时,从预设数据库中获取与导出操作对应的接口文档、并导出接口文档。
关于接口文档生成装置的具体限定可以参见上文中对于接口文档生成方法的限定,在此不再赘述。上述接口文档生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储接口文档数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种接口文档生成方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:当监听到接口代码提交操作产生时,下载与接口代码记录对应的项目文件,项目文件中接口的出参和入参的类型为DTO,对项目文件执行代码分析检测,当检测到项目文件中有接口发生更新时,解析项目文件,获取项目文件中接口的注释以及自定义注解,根据接口的注释以及自定义注解,生成接口文档,接口文档包括生成的与更新的接口对应的DTO。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取Javadoc文件的Javadoc注释以及Class文件的自定义注解。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:调用预设邮件发送工具类,发送通知邮件至与项目文件关联的邮箱,通知邮件附带更新的接口对应的DTO。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将生成的接口文档存储于预设数据库。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取接口文档对应的系统名称以及版本号,根据系统名称以及版本号,分类展示接口文档。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当监听接口文档的导出操作时,从预设数据库中获取与导出操作对应的接口文档、并导出接口文档。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:当监听到接口代码提交操作产生时,下载与接口代码记录对应的项目文件,项目文件中接口的出参和入参的类型为DTO,对项目文件执行代码分析检测,当检测到项目文件中有接口发生更新时,解析项目文件,获取项目文件中接口的注释以及自定义注解,根据接口的注释以及自定义注解,生成接口文档,接口文档包括生成的与更新的接口对应的DTO。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取Javadoc文件的Javadoc注释以及Class文件的自定义注解。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:调用预设邮件发送工具类,发送通知邮件至与项目文件关联的邮箱,通知邮件附带更新的接口对应的DTO。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将生成的接口文档存储于预设数据库。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取接口文档对应的系统名称以及版本号,根据系统名称以及版本号,分类展示接口文档。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当监听接口文档的导出操作时,从预设数据库中获取与导出操作对应的接口文档、并导出接口文档。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种接口文档生成方法,其特征在于,所述方法包括:
当监听到接口代码提交操作产生时,下载与所述接口代码记录对应的项目文件,所述项目文件中接口的出参和入参的类型为数据传输对象DTO;
对所述项目文件执行代码分析检测;
当检测到所述项目文件中有接口发生更新时,解析所述项目文件,获取所述项目文件中接口的注释以及自定义注解;
根据所述接口的注释以及自定义注解,生成接口文档,所述接口文档包括生成的与更新的接口对应的DTO。
2.根据权利要求1所述的接口文档生成方法,其特征在于,所述根据所述接口的注释以及自定义注解,生成接口文档之后,还包括:
调用预设邮件发送工具类,发送通知邮件至与所述项目文件关联的邮箱,所述通知邮件附带所述更新的接口对应的DTO。
3.根据权利要求1或2所述的接口文档生成方法,其特征在于,所述根据所述接口的注释以及自定义注解,生成接口文档之后,还包括:将生成的接口文档存储于预设数据库。
4.根据权利要求3所述的接口文档生成方法,其特征在于,所述将生成的接口文档存储于预设数据库之后,还包括:
获取所述接口文档对应的系统名称以及版本号;
根据所述系统名称以及所述版本号,分类展示所述接口文档。
5.根据权利要求3所述的接口文档生成方法,其特征在于,还包括:当监听到接口文档的导出操作时,从所述预设数据库中获取与所述导出操作对应的接口文档、并导出所述接口文档。
6.根据权利要求1所述的接口文档生成方法,其特征在于,所述项目文件包括Javadoc文件以及Class文件,所述获取所述项目文件中接口的注释以及自定义注解包括:
获取所述Javadoc文件的Javadoc注释以及所述Class文件的自定义注解。
7.一种接口文档生成装置,其特征在于,所述装置包括:
数据下载模块,用于当监听到所述接口代码提交操作产生时,下载与所述接口代码记录对应的项目文件,所述项目文件中接口的出参和入参的类型为DTO;
代码检测模块,用于对所述项目文件执行代码分析检测;
数据解析模块,用于当检测所述项目文件中有接口发生更新时,解析所述项目文件,获取所述项目文件中接口的注释以及自定义注解;
接口文档生成模块,用于根据所述接口的注释以及自定义注解,生成接口文档,所述接口文档包括生成的与更新的接口对应的DTO。
8.根据权利要求7所述的接口文档生成装置,其特征在于,所述装置还包括:
邮件发送模块,用于调用预设邮件发送工具类,发送通知邮件至与所述项目文件关联的邮箱,所述通知邮件附带所述更新的接口对应的DTO。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201910522410.5A 2019-06-17 2019-06-17 接口文档生成方法、装置、计算机设备和存储介质 Pending CN110377336A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910522410.5A CN110377336A (zh) 2019-06-17 2019-06-17 接口文档生成方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910522410.5A CN110377336A (zh) 2019-06-17 2019-06-17 接口文档生成方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN110377336A true CN110377336A (zh) 2019-10-25

Family

ID=68250373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910522410.5A Pending CN110377336A (zh) 2019-06-17 2019-06-17 接口文档生成方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110377336A (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806863A (zh) * 2019-11-05 2020-02-18 泰康保险集团股份有限公司 接口文档生成方法及装置、电子设备、存储介质
CN110990054A (zh) * 2019-12-03 2020-04-10 北京明略软件系统有限公司 一种开源框架的配置处理方法及装置
CN111240653A (zh) * 2019-12-31 2020-06-05 瑞庭网络技术(上海)有限公司 接口文档生成方法、装置及可读存储介质
CN111290808A (zh) * 2020-01-13 2020-06-16 中国平安财产保险股份有限公司 基于数据传输对象的产品模块展示方法、装置及存储介质
CN111488174A (zh) * 2020-04-14 2020-08-04 苏州达家迎信息技术有限公司 应用程序接口文档的生成方法、装置、计算机设备及介质
CN111651196A (zh) * 2020-06-24 2020-09-11 腾讯科技(深圳)有限公司 文档发布方法、装置及服务器
CN111796809A (zh) * 2020-06-29 2020-10-20 平安普惠企业管理有限公司 接口文档生成方法、装置、电子设备及介质
CN112148302A (zh) * 2020-09-23 2020-12-29 北京自如信息科技有限公司 一种接口文档生成方法、装置、设备及可读存储介质
CN112379882A (zh) * 2020-10-30 2021-02-19 中国人寿保险股份有限公司 一种模拟服务器的构建方法、模拟服务器及电子设备
CN112463261A (zh) * 2020-11-20 2021-03-09 北京达佳互联信息技术有限公司 接口调用方法及装置
CN112506587A (zh) * 2020-11-26 2021-03-16 杭州朗澈科技有限公司 Api部署监控的方法、系统、电子装置和存储介质
CN112540862A (zh) * 2020-12-23 2021-03-23 东莞市盟大塑化科技有限公司 一种接口文档数据生成方法、装置、设备及存储介质
CN112685078A (zh) * 2020-12-30 2021-04-20 平安证券股份有限公司 接口文档生成与查询方法、装置及计算机可读存储介质
CN112748927A (zh) * 2020-12-30 2021-05-04 上海微盟企业发展有限公司 一种项目接口解析方法及相关装置
CN112926290A (zh) * 2021-03-09 2021-06-08 上海万向区块链股份公司 生成展示接口文档的系统、方法及介质
CN112947963A (zh) * 2021-02-26 2021-06-11 平安普惠企业管理有限公司 接口运维方法、装置、计算机设备和存储介质
CN113094093A (zh) * 2021-03-29 2021-07-09 四川新网银行股份有限公司 一种基于互联网金融系统从源码生成系统交互的api文档的方法
CN113157792A (zh) * 2021-05-10 2021-07-23 中国工商银行股份有限公司 一种接口文档管理系统及其工作方法
CN113591439A (zh) * 2020-04-30 2021-11-02 北京字节跳动网络技术有限公司 一种信息交互方法、装置、电子设备及存储介质
CN113626074A (zh) * 2021-06-30 2021-11-09 北京三快在线科技有限公司 接口文档生成方法及装置、电子设备及可读存储介质
CN114201215A (zh) * 2021-11-19 2022-03-18 广东三维家信息科技有限公司 接口文档的生成方法、装置、电子设备及存储介质
CN114443129A (zh) * 2021-12-30 2022-05-06 广东南方新媒体科技有限公司 一种项目文档自动化生成方法、设备及存储介质
CN116302218A (zh) * 2023-03-15 2023-06-23 北京百度网讯科技有限公司 函数信息的添加方法、装置、设备以及存储介质
US11706170B2 (en) 2020-04-30 2023-07-18 Beijing Bytedance Network Technology Co., Ltd. Collaborative editing method of an electronic mail, electronic device, and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484216A (zh) * 2014-12-29 2015-04-01 广州唯品会网络技术有限公司 服务接口文档和在线测试工具生成方法、装置
CN107193570A (zh) * 2017-05-31 2017-09-22 郑州云海信息技术有限公司 一种自动生成api文档的方法及系统
CN107766040A (zh) * 2017-09-19 2018-03-06 深圳市买买提乐购金融服务有限公司 一种生成接口文档的方法、装置及计算机可读存储介质
CN107885499A (zh) * 2017-10-19 2018-04-06 平安壹钱包电子商务有限公司 一种接口文档生成方法及终端设备
CN108762808A (zh) * 2018-05-17 2018-11-06 李伟荣 接口文档的生成方法及系统
CN108932122A (zh) * 2018-06-19 2018-12-04 上海陆家嘴国际金融资产交易市场股份有限公司 接口文档生成方法、装置、计算机设备和存储介质
CN108959076A (zh) * 2018-06-25 2018-12-07 浙江网新恒天软件有限公司 一种api在线调试方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484216A (zh) * 2014-12-29 2015-04-01 广州唯品会网络技术有限公司 服务接口文档和在线测试工具生成方法、装置
CN107193570A (zh) * 2017-05-31 2017-09-22 郑州云海信息技术有限公司 一种自动生成api文档的方法及系统
CN107766040A (zh) * 2017-09-19 2018-03-06 深圳市买买提乐购金融服务有限公司 一种生成接口文档的方法、装置及计算机可读存储介质
CN107885499A (zh) * 2017-10-19 2018-04-06 平安壹钱包电子商务有限公司 一种接口文档生成方法及终端设备
CN108762808A (zh) * 2018-05-17 2018-11-06 李伟荣 接口文档的生成方法及系统
CN108932122A (zh) * 2018-06-19 2018-12-04 上海陆家嘴国际金融资产交易市场股份有限公司 接口文档生成方法、装置、计算机设备和存储介质
CN108959076A (zh) * 2018-06-25 2018-12-07 浙江网新恒天软件有限公司 一种api在线调试方法

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806863A (zh) * 2019-11-05 2020-02-18 泰康保险集团股份有限公司 接口文档生成方法及装置、电子设备、存储介质
CN110990054A (zh) * 2019-12-03 2020-04-10 北京明略软件系统有限公司 一种开源框架的配置处理方法及装置
CN110990054B (zh) * 2019-12-03 2023-03-21 北京明略软件系统有限公司 一种开源框架的配置处理方法及装置
CN111240653A (zh) * 2019-12-31 2020-06-05 瑞庭网络技术(上海)有限公司 接口文档生成方法、装置及可读存储介质
CN111240653B (zh) * 2019-12-31 2024-02-02 瑞庭网络技术(上海)有限公司 接口文档生成方法、装置及可读存储介质
CN111290808B (zh) * 2020-01-13 2023-10-20 中国平安财产保险股份有限公司 基于数据传输对象的产品模块展示方法、装置及存储介质
CN111290808A (zh) * 2020-01-13 2020-06-16 中国平安财产保险股份有限公司 基于数据传输对象的产品模块展示方法、装置及存储介质
CN111488174B (zh) * 2020-04-14 2022-10-11 苏州达家迎信息技术有限公司 应用程序接口文档的生成方法、装置、计算机设备及介质
CN111488174A (zh) * 2020-04-14 2020-08-04 苏州达家迎信息技术有限公司 应用程序接口文档的生成方法、装置、计算机设备及介质
US11706170B2 (en) 2020-04-30 2023-07-18 Beijing Bytedance Network Technology Co., Ltd. Collaborative editing method of an electronic mail, electronic device, and storage medium
CN113591439A (zh) * 2020-04-30 2021-11-02 北京字节跳动网络技术有限公司 一种信息交互方法、装置、电子设备及存储介质
CN111651196A (zh) * 2020-06-24 2020-09-11 腾讯科技(深圳)有限公司 文档发布方法、装置及服务器
CN111651196B (zh) * 2020-06-24 2024-06-21 腾讯科技(深圳)有限公司 文档发布方法、装置及服务器
CN111796809A (zh) * 2020-06-29 2020-10-20 平安普惠企业管理有限公司 接口文档生成方法、装置、电子设备及介质
CN112148302A (zh) * 2020-09-23 2020-12-29 北京自如信息科技有限公司 一种接口文档生成方法、装置、设备及可读存储介质
CN112379882B (zh) * 2020-10-30 2023-12-26 中国人寿保险股份有限公司 一种模拟服务器的构建方法、模拟服务器及电子设备
CN112379882A (zh) * 2020-10-30 2021-02-19 中国人寿保险股份有限公司 一种模拟服务器的构建方法、模拟服务器及电子设备
CN112463261B (zh) * 2020-11-20 2024-06-11 北京达佳互联信息技术有限公司 接口调用方法、装置、电子设备、介质及产品
CN112463261A (zh) * 2020-11-20 2021-03-09 北京达佳互联信息技术有限公司 接口调用方法及装置
CN112506587A (zh) * 2020-11-26 2021-03-16 杭州朗澈科技有限公司 Api部署监控的方法、系统、电子装置和存储介质
CN112540862A (zh) * 2020-12-23 2021-03-23 东莞市盟大塑化科技有限公司 一种接口文档数据生成方法、装置、设备及存储介质
CN112748927A (zh) * 2020-12-30 2021-05-04 上海微盟企业发展有限公司 一种项目接口解析方法及相关装置
CN112685078A (zh) * 2020-12-30 2021-04-20 平安证券股份有限公司 接口文档生成与查询方法、装置及计算机可读存储介质
CN112947963A (zh) * 2021-02-26 2021-06-11 平安普惠企业管理有限公司 接口运维方法、装置、计算机设备和存储介质
CN112926290A (zh) * 2021-03-09 2021-06-08 上海万向区块链股份公司 生成展示接口文档的系统、方法及介质
CN113094093A (zh) * 2021-03-29 2021-07-09 四川新网银行股份有限公司 一种基于互联网金融系统从源码生成系统交互的api文档的方法
CN113157792B (zh) * 2021-05-10 2024-04-30 中国工商银行股份有限公司 一种接口文档管理系统及其工作方法
CN113157792A (zh) * 2021-05-10 2021-07-23 中国工商银行股份有限公司 一种接口文档管理系统及其工作方法
CN113626074A (zh) * 2021-06-30 2021-11-09 北京三快在线科技有限公司 接口文档生成方法及装置、电子设备及可读存储介质
CN114201215A (zh) * 2021-11-19 2022-03-18 广东三维家信息科技有限公司 接口文档的生成方法、装置、电子设备及存储介质
CN114443129A (zh) * 2021-12-30 2022-05-06 广东南方新媒体科技有限公司 一种项目文档自动化生成方法、设备及存储介质
CN116302218A (zh) * 2023-03-15 2023-06-23 北京百度网讯科技有限公司 函数信息的添加方法、装置、设备以及存储介质
CN116302218B (zh) * 2023-03-15 2024-05-10 北京百度网讯科技有限公司 函数信息的添加方法、装置、设备以及存储介质

Similar Documents

Publication Publication Date Title
CN110377336A (zh) 接口文档生成方法、装置、计算机设备和存储介质
CN107861870B (zh) 接口测试及测试数据生成方法、装置、终端和存储介质
US8504803B2 (en) System and method for creating and executing portable software
US20200401506A1 (en) System and Method for Performing Automated API Tests
US7971187B2 (en) Configurable software stack
CN111177176A (zh) 数据检测方法、装置及存储介质
US20100180256A1 (en) Method and system for generating functional test cases
US10782961B2 (en) Analyzing components related to a software application in a software development environment
US20080154970A1 (en) File plan import and sync over multiple systems
CN102298519B (zh) 集成基于web的crm系统与pim客户机应用程序
CN104102489A (zh) 一种第三方数据库app构建系统及构建方法
US20070250812A1 (en) Process Encoding
CN110377583A (zh) 数据库脚本执行方法、装置、计算机设备和存储介质
US20240303604A1 (en) Information exchange method and apparatus for document processing, electronic device, and storage medium
EP2199905A1 (en) Lifecycle management and consistency checking of object models using application platform tools
CN112181852A (zh) 一种接口自动化测试方法、装置、计算机设备及存储介质
EP3282409A1 (en) Method and apparatus for an interactive action log in a collaborative workspace
JP2024505236A (ja) データ処理システム用のデータセットマルチプレクサ
CN114490005A (zh) 一种日志处理的方法、装置、电子设备及存储介质
Kourtesis et al. Increased reliability in SOA environments through registry-based conformance testing of web services
Ekanayake et al. Consistency checking of UML class and sequence diagrams
Mayer et al. On the applicability of workflow management systems for the preservation of business processes
CN116841900A (zh) 接口文档、测试用例生成方法、装置、计算机设备和存储介质
US20110055286A1 (en) Method of providing element dossiers that include elements from nonadjacent lifecycle phases
Sáenz-Adán et al. Automated and non-intrusive provenance capture with UML2PROV

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20191025

WD01 Invention patent application deemed withdrawn after publication