CN112783551A - 微服务框架的接口文档生成方法、电子设备及存储介质 - Google Patents
微服务框架的接口文档生成方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112783551A CN112783551A CN202110084056.XA CN202110084056A CN112783551A CN 112783551 A CN112783551 A CN 112783551A CN 202110084056 A CN202110084056 A CN 202110084056A CN 112783551 A CN112783551 A CN 112783551A
- Authority
- CN
- China
- Prior art keywords
- interface
- micro
- interface document
- service
- annotation
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开一种微服务框架的接口文档生成方法,所述方法基于Spr i ng C l oud微服务框架,该方法包括:扫描带有业务层组件注解的类,获取所述带有业务层组件注解的类中的预定方法信息;依据所述预定方法信息构建控制层处理请求的URL;为所述预定方法创建控制层中的接口方法,并为所述接口方法的各个参数添加注解;根据所述控制层处理请求的URL及所述接口方法的各个参数添加的注解生成所述接口文档。通过本发明根据业务层代码自动生成Contro l l er层代码,开发人员无需编写Contro l l er层代码,可以减少开发工作量,提高开发效率。
Description
技术领域
本发明涉及前后端分离开发的模式,具体的说是一种基于微服务框架的接口文档生成方法、电子装置及存储介质。
背景技术
在Spring Cloud微服务体系下,服务采用MVC分层架构,在控制层即Controller层,需要编写代码调用业务层接口,给开发人员带来了额外的开发工作量,为此如何避免开发人员编写Controller层代码,减少开发工作量,提高开发效率成为本领域亟待解决的技术问题。
发明内容
为了改善相关技术中的不足,本发明第一方面致力于提供一种微服务框架的接口文档生成方法,所述方法基于Spring Cloud微服务框架,该方法包括:
扫描带有业务层组件注解的类,获取所述带有业务层组件注解的类中的预定方法信息;
依据所述预定方法信息构建控制层处理请求的URL;
为所述预定方法创建控制层中的接口方法,并为所述接口方法的各个参数添加注解;
根据所述控制层处理请求的URL及所述接口方法的各个参数添加的注解生成所述接口文档。
进一步的,根据所述控制层处理请求的URL及所述接口方法的各个参数添加的注解生成所述接口文档包括:为所述预设方法添加MVC请求注解,其中请求类型均为POST类型。
其中,所述预定方法信息包括方法名和方法参数。
其中当所述接口方法的参数类型为基本类型和包装类时,配置@RequestParams注解;当所述接口方法的参数为对象类型时,配置@RequestBody注解。
具体的,依据所述预定方法信息构建控制层处理请求的URL规则为:/接口名/接口方法名_参数类型1_参数类型2。
具体的,所述预定方法为公有方法。
具体的,所述接口文档为Restful接口文档。
具体的,利用反射机制获取所述带有业务层组件注解的类中的预定方法信息。
本发明的另一方面提供一种电子设备,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行上述任一项所述的微服务框架的接口文档生成方法。
本发明的第三个方面提供一种计算机可读存储介质,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一项所述的微服务框架的接口文档生成方法。
根据本发明提供的所述的微服务框架的接口文档生成方法、电子设备和计算机可读存储介质,通过根据业务层代码自动生成Controller层代码,开发人员无需编写Controller层代码,可以减少开发工作量,提高开发效率。
附图说明
图1为本发明基于Spring Cloud微服务框架的接口文档生成方法示意图
图2为本发明Spring Cloud微服务框架的接口文档生成电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,各实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供一种微服务框架的接口文档生成方法,所述方法基于SpringCloud微服务框架,本文涉及的Spring Cloud微服务框架是一系列可配置的服务和组件,它利用Spring Boot的便利性,简化了分布式***基础设施的开发,如配置中心、服务注册发现、负载均衡、熔断器、调用链追踪、消息总线等,可以快速构建遵循微服务架构的***或服务。
该方法包括:扫描带有业务层组件注解的类,获取所述带有业务层组件注解的类中的预定方法信息;
扫描带有业务层组件注解的类,其中业务层在代码中使用@Service来表达,获得@Service注解的类中全部预定方法信息,预定方法信息本实施中优选带有@Service注解的类中的公有方法信息,公有方法信息可以包括方法名称和方法参数类型。
依据所述预定方法信息构建控制层处理请求的URL;其中URL(uniform resourcelocator)为统一资源定位***是因特网的万维网服务程序上用于指定信息位置的表示方法,依据预定方法信息中的预定方法名及方法参数构建统一资源定位符URL。
为所述预定方法创建控制层中的接口方法,并为所述接口方法的各个参数添加注解;
根据所述控制层处理请求的URL及所述接口方法的各个参数添加的注解生成所述接口文档。
进一步的,根据所述控制层处理请求的URL及所述接口方法的各个参数添加的注解生成所述接口文档包括:为所述预设方法添加MVC请求注解,其中请求类型均为POST类型。
优选的,本文采用客户服务(customer-service)调用账户服务(account-service)为例阐述本发明,本实施例中账户服务的业务层包括有AccountService接口及其AccountServiceImpl实现类。
标注注解的账户服务AccountServic类中预定方法包括有通过客户ID查询账户、更新某个账户、更新多个账户,各方法具体实现代码分别如下:
(1)通过客户ID查询账户方法的代码:
List<Account>getAccountByCustomerId(Integer customerId)
(2)更新某个账户方法的实现代码:
public void updateAccount(Account account)
(3)更新多个账户方法的代码:
updateAccountList(Account[]account)
具体以生成接口文档为RESTful接口文档为例说明,其中RESTful架构是对MVC架构改进后所形成的一种架构,通过使用事先定义好的接口与不同的服务联系起来。在RESTful架构中,客户端使用POST,DELETE,PUT和GET四种请求方式分别对指定的URL资源进行增删改查操作,实现对资源的管理及访问。
S1:扫描带有注解@Service的类,如AccountServiceImpl。
S2、利用反射机制获取账户服务类中的3个方法,依据所述预定方法信息构建控制层处理请求的URL规则为:/接口名/接口方法名_参数类型1_参数类型2。
具体的分别生成每个方法的URL规则实现如下:
(1)生成通过客户ID查询账户方法的URL规则为:
/AccountService/getAccountByCustomerId_Integer
(2)生成更新某个账户方法的URL规则为:
/AccountService/updateAccount_Account
(3)生成更新多个账户方法的URL规则为:
/AccountService/updateAccountList_AccountXX
S3、为每个方法生成参数列表,并添加方法参数的注解。以方法(1)为例:
List getAccountByCustomerId(@RequestParam(name="customerId")IntegercustomerId){}
其中当所述接口方法的参数类型为基本类型和包装类时,配置@RequestParams注解;当所述接口方法的参数为对象类型时,配置@RequestBody注解。
S4、为每个方法添加MVC请求注解,其中请求类型均为POST类型,完成Controller层RESTful接口文档的生成。
本发明的另一方面提供一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行上述任一项所述的微服务框架的接口文档生成方法。
本发明的第三个方面提供一种计算机可读存储介质,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一项所述的微服务框架的接口文档生成方法。
根据本发明提供的所述的微服务框架的接口文档生成方法、电子设备和计算机可读存储介质,通过根据业务层代码自动生成Controller层代码,开发人员无需编写Controller层代码,可以减少开发工作量,提高开发效率。
本申请实施例提供了一种电子设备,如图2所示,图2所示的电子设备30包括:处理器301和存储器303。其中,处理器301和存储器303相连,如通过总线302相连。进一步地,电子设备30还可以包括收发器304。需要说明的是,实际应用中收发器304不限于一个,该电子设备30的结构并不构成对本申请实施例的限定。其中,处理器301应用于本申请实施例中,用于生成接口文档的功能。收发器304包括接收机和发射机。
处理器301可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线302可包括一通路,在上述组件之间传送信息。总线302可以是PCI总线或EISA总线等。总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器303可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以实现实施例提供的微服务框架的接口文档生成方法的功能。
本申请实施例提供了一种电子设备,与相关技术相比,通过本发明根据业务层代码自动生成Controller层代码,开发人员无需编写Controller层代码,可以减少开发工作量,提高开发效率。
本申请实施例提供了一种电子设备适用于上述方法实施例。在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例中所示的方法。
本申请实施例提供了一种计算机可读存储介质,与相关技术相比,通过本发明根据业务层代码自动生成Controller层代码,开发人员无需编写Controller层代码,可以减少开发工作量,提高开发效率。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种微服务框架的接口文档生成方法,所述方法基于Spring Cloud微服务框架,其特征在于该方法包括:
扫描带有业务层组件注解的类,获取所述带有业务层组件注解的类中的预定方法信息;
依据所述预定方法信息构建控制层处理请求的URL;
为所述预定方法创建控制层中的接口方法,并为所述接口方法的各个参数添加注解;
根据所述控制层处理请求的URL及所述接口方法的各个参数添加的注解生成所述接口文档。
2.根据权利要求1所述的微服务框架的接口文档生成方法,其特征在于,根据所述控制层处理请求的URL及所述接口方法的各个参数添加的注解生成所述接口文档包括:为所述预设方法添加MVC请求注解,其中请求类型均为POST类型。
3.根据权利要求1所述的微服务框架的接口文档生成方法,其特征在于,所述预定方法信息包括方法名和方法参数。
4.根据权利要求1所述的微服务框架的接口文档生成方法,其特征在于,所述接口方法的参数类型为基本类型和包装类时,配置@RequestParams注解;当所述接口方法的参数为对象类型时,配置@RequestBody注解。
5.根据权利要求1所述的微服务框架的接口文档生成方法,其特征在于,依据所述预定方法信息构建控制层处理请求的URL规则为:/接口名/接口方法名_参数类型1_参数类型2。
6.根据权利要求1所述的微服务框架的接口文档生成方法,其特征在于,所述预定方法为公有方法。
7.根据权利要求1至6任一项所述的微服务框架的接口文档生成方法,其特征在于,所述接口文档为Restful接口文档。
8.根据权利要求1至6任一项所述的微服务框架的接口文档生成方法,其特征在于,利用反射机制获取所述带有业务层组件注解的类中的预定方法信息。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1至8任一项所述的微服务框架的接口文档生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1至8中任一项所述的微服务框架的接口文档生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110084056.XA CN112783551A (zh) | 2021-01-21 | 2021-01-21 | 微服务框架的接口文档生成方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110084056.XA CN112783551A (zh) | 2021-01-21 | 2021-01-21 | 微服务框架的接口文档生成方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783551A true CN112783551A (zh) | 2021-05-11 |
Family
ID=75758406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110084056.XA Pending CN112783551A (zh) | 2021-01-21 | 2021-01-21 | 微服务框架的接口文档生成方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783551A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835707A (zh) * | 2021-09-30 | 2021-12-24 | 唯品会(广州)软件有限公司 | 一种造数方法、装置、设备及可读存储介质 |
CN114461298A (zh) * | 2022-01-17 | 2022-05-10 | ***股份有限公司 | 一种接口技术标准文档生成方法及*** |
WO2023142082A1 (zh) * | 2022-01-29 | 2023-08-03 | 西门子股份公司 | 设备控制方法、装置、平台和计算机可读介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254423A (zh) * | 2016-07-20 | 2016-12-21 | 普元信息技术股份有限公司 | 基于微服务架构实现Restful服务快速发布的方法 |
CN107766040A (zh) * | 2017-09-19 | 2018-03-06 | 深圳市买买提乐购金融服务有限公司 | 一种生成接口文档的方法、装置及计算机可读存储介质 |
CN108055248A (zh) * | 2017-11-30 | 2018-05-18 | 平安科技(深圳)有限公司 | 基于dubbo框架的远程调用方法、服务器及存储介质 |
CN109032663A (zh) * | 2018-07-09 | 2018-12-18 | 深圳市小牛在线互联网信息咨询有限公司 | 接口文档的生成方法、装置、计算机设备及存储介质 |
CN109683886A (zh) * | 2018-11-28 | 2019-04-26 | 国云科技股份有限公司 | 一种多元化接口文档生成方法 |
CN110806863A (zh) * | 2019-11-05 | 2020-02-18 | 泰康保险集团股份有限公司 | 接口文档生成方法及装置、电子设备、存储介质 |
WO2020245504A1 (en) * | 2019-06-04 | 2020-12-10 | Meeshkan Oy | Method and system for integration testing |
CN112230988A (zh) * | 2020-10-16 | 2021-01-15 | 蜂助手股份有限公司 | 接口文档的生成方法、装置、计算机设备和存储介质 |
-
2021
- 2021-01-21 CN CN202110084056.XA patent/CN112783551A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254423A (zh) * | 2016-07-20 | 2016-12-21 | 普元信息技术股份有限公司 | 基于微服务架构实现Restful服务快速发布的方法 |
CN107766040A (zh) * | 2017-09-19 | 2018-03-06 | 深圳市买买提乐购金融服务有限公司 | 一种生成接口文档的方法、装置及计算机可读存储介质 |
CN108055248A (zh) * | 2017-11-30 | 2018-05-18 | 平安科技(深圳)有限公司 | 基于dubbo框架的远程调用方法、服务器及存储介质 |
CN109032663A (zh) * | 2018-07-09 | 2018-12-18 | 深圳市小牛在线互联网信息咨询有限公司 | 接口文档的生成方法、装置、计算机设备及存储介质 |
CN109683886A (zh) * | 2018-11-28 | 2019-04-26 | 国云科技股份有限公司 | 一种多元化接口文档生成方法 |
WO2020245504A1 (en) * | 2019-06-04 | 2020-12-10 | Meeshkan Oy | Method and system for integration testing |
CN110806863A (zh) * | 2019-11-05 | 2020-02-18 | 泰康保险集团股份有限公司 | 接口文档生成方法及装置、电子设备、存储介质 |
CN112230988A (zh) * | 2020-10-16 | 2021-01-15 | 蜂助手股份有限公司 | 接口文档的生成方法、装置、计算机设备和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835707A (zh) * | 2021-09-30 | 2021-12-24 | 唯品会(广州)软件有限公司 | 一种造数方法、装置、设备及可读存储介质 |
CN113835707B (zh) * | 2021-09-30 | 2024-01-19 | 唯品会(广州)软件有限公司 | 一种造数方法、装置、设备及可读存储介质 |
CN114461298A (zh) * | 2022-01-17 | 2022-05-10 | ***股份有限公司 | 一种接口技术标准文档生成方法及*** |
WO2023142082A1 (zh) * | 2022-01-29 | 2023-08-03 | 西门子股份公司 | 设备控制方法、装置、平台和计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112783551A (zh) | 微服务框架的接口文档生成方法、电子设备及存储介质 | |
US8306979B2 (en) | Service query, selection, routing and propagation | |
US10248415B2 (en) | Dynamic code generation and memory management for component object model data constructs | |
CN107391142B (zh) | 一种应用拆分的方法及装置 | |
KR20140047580A (ko) | 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법 | |
US10120886B2 (en) | Database integration of originally decoupled components | |
CN111861482B (zh) | 一种区块链对账方法和*** | |
US10089084B2 (en) | System and method for reusing JavaScript code available in a SOA middleware environment from a process defined by a process execution language | |
Kim et al. | Retrieval of CAD model data based on Web Services for collaborative product development in a distributed environment | |
CN112866421A (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
CN112579319A (zh) | 一种基于LRU Cache优化的服务调用方法及装置 | |
US8978041B2 (en) | Service virtualization container | |
EP2746944A2 (en) | ABAP unified connectivity | |
Chen et al. | SOAr-DSGrid: service-oriented architecture for distributed simulation on the grid | |
CN100349115C (zh) | 一种应用服务器平台的实现方法 | |
CN110764769B (zh) | 处理用户请求的方法和装置 | |
US10223143B2 (en) | System and method for supporting javascript as an expression language in a process defined by a process execution language for execution in a SOA middleware environment | |
US11016830B2 (en) | Entity-based service operation for object-based persistence | |
CN109040311B (zh) | 服务信息的推送处理方法与装置 | |
US20160292003A1 (en) | System and method for supporting object notation variables in a process defined by a process execution language for execution in a soa middleware environment | |
CN115934292A (zh) | 微服务应用的调用方法、装置及设备 | |
CN112988224B (zh) | 微服务框架的接口文件生成方法、电子设备及存储介质 | |
US20140172955A1 (en) | Distributed mobile enterprise application platform | |
CN112860292A (zh) | 一种基于应用的配置管理方法及装置 | |
van Gurp et al. | Service grid variability realization |
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 |