dubbo自动生成接口文档

dubbo自动生成接口文档

1、介绍

    本文介绍如何利用smart-doc自动生成dubbo接口文档,以及相关的代码配置;

2、代码

2.1、dubbo接口扫描

smart-doc支持单独去扫描dubbo api或者dubbo provider。在扫描原理是主要通过识别@dubbo注释tag(idea可以支持添加自定义注释tag提示可以参考smart-doc wiki文档介绍)或dubbo的 @service注解。

2.2、扫描dubbo api

dubbo api通常都是很简洁的dubbo接口定义,如果你需要让smart-doc扫描到dubbo接口,那么需要加上@dubbo注释tag。示例如下:
样例
在这里插入图片描述

2.3、扫描dubbo provider

如果想通过dubbo provider生成rpc接口文档的情况,你不需要加任何的其他注释tag,smart-doc自动扫描@service注解完成。
样例
在这里插入图片描述

3、配置文件

3.1、maven配置增加smart-doc-maven-plugin

<plugin>
 <groupId>com.github.shalousun</groupId>
 <artifactId>smart-doc-maven-plugin</artifactId>
 <version>2.1.7</version>
 <configuration>
 <!--指定生成文档的使用的配置文件,配置文件放在自己的项目中-->
 <configFile>./src/main/reources/smart-doc.json</configFile>
 <!--指定项目名称-->
 <projectName>kcb-apps-api</projectName>
 <!--smart-doc实现自动分析依赖树加载第三方依赖的源码,如果一些框架依赖库加载不到导致报错,这时请使用excludes排除掉-->
 <excludes>
 <!--格式为:groupId:artifactId;参考如下--> <!--1.0.7版本开始你还可以用正则匹配排除,如:poi.* -->
 <exclude>com.alibaba:fastjson</exclude>
 </excludes>
 <!--自1.0.8版本开始,插件提供includes支持-->
 <!--smart-doc能自动分析依赖树加载所有依赖源码,原则上会影响文档构建效率,因此你可以使用includes来让插件加载你配置的组件-->
 <includes>
 <!--格式为:groupId:artifactId;参考如下-->
 <include>com.alibaba:fastjson</include>
 </includes>
 </configuration>
 <executions>
 <execution>
 <!--如果不需要在执行编译时启动smart-doc,则将phase注释掉-->
 <phase>compile</phase>
 <goals>
 <goal>html</goal>
 </goals>
 </execution>
 </executions>
</plugin>

3.2、添加smart-doc所需配置文件

在你的dubbo api或者或者是dubbo provider模块reources中添加smart-doc.json配置文件。
如果下你想让dubbo consumer集成更加快速,你可以将集成配置示例consumer-example.conf中,Smart-doc会将该示例直接输出到文档中。
在这里插入图片描述

smart-doc.json

{
 //是否开启严格模式
 "isStrict": false,
 //是否将文档合并到一个文件中,一般推荐为true
 "allInOne": true,
 //指定文档的输出路径
 "outPath": "D://md2",
 //配置自己的项目名称
 "projectName": "kcb-apps-api",
 // 项目开放的dubbo api接口模块依赖,配置后输出到文档方便使用者集成
 "rpcApiDependencies": [
 {
 "artifactId": "SpringBoot2-Dubbo-Api",
 "groupId": "com.demo",
 "version": "1.0.0"
 }
 ],
 //文档中添加dubbo consumer集成配置,用于方便集成方可以快速集成
 "rpcConsumerConfig": "src/main/resources/consumer-example.conf"

}

consumer-example.conf

dubbo:
 registry:
 protocol: zookeeper
 address: ${zookeeper.adrress}
 id: my-registry
 scan:
 base-packages: com.iflytek.demo.dubbo
 application:
 name: dubbo-consumer

4、生成操作

直接通过maven命令运行插件的文档生成命令或者在idea中直接单击插件的可视化命令即可。
在这里插入图片描述

5、生成结果展示

在这里插入图片描述

修改用户认证类型

Definition: Response updateUserById(UserReq user)
Description: 修改用户认证类型
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
源码简介与安装说明: JeeSpringCloud是一个基于SpringBoot2.0的后台权限管理系统,界面简洁美观敏捷开发系统架构。核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。 互联网云快速开发框架,微服务分布式代码生成的敏捷开发系统架构。项目代码简洁,注释丰富,上手容易,还同时集中分布式、微服务,同时包含许多基础模块和监控、服务模块。模块包括:定时任务调度、服务器监控、平台监控、平台设置、开发平台、单点登录、Redis分布式高速缓存、会员、营销、在线用户、日志、在线人数、访问次数、调用次数、直接集群、接口文档生成模块、代码实例、安装视频、教程文档 代码生成(单表、主附表、树表、列表和表单、redis高速缓存对接代码、图表统计、地图统计、vue.js)、dubbo、springCloud、SpringBoot、mybatis、spring、springmvc。 功能 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 岗位管理:配置系统用户所属担任职务。 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 参数管理:对系统动态配置常用参数。 通知公告:系统通知公告信息发布维护。 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 登录日志:系统登录日志记录查询包含登录异常。 在线用户:当前系统中活跃用户状态监控。 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 代码生成:前后端代码生成(单表、主附表、树表、列表和表单、增删改查云接口、redis高速缓存对接代码、图表统计、地图统计、vue.js) ,并生成菜单和权限直接使用。 系统接口:根据业务代码自动生成相关的api接口文档。 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 在线接口文档:使用swager生成在线文档。 ActiveMQ队列:提供ActiveMQ队列,处理批量发送大数据量邮件、大数据量日志文件。 工作流:功能包括在线办公、我的任务、审批测试、流程管理、模型管理。 CMS:功能包括内容管理、内容管理、统计分析、栏目设置、首页。 dubbo:代码生成直接生成dubbo对接代码。 服务器Down机邮件监控:通过定时任务监控服务器是否Down机,并发送通知邮件。 服务器监控:通过sigar进行服务器图形化监控。 异常邮件监控:全局拦截系统异常,并发送通知邮件。 单点登录:使用shior和Redis、共享session方式实现单点登录。 Redis分布式高速缓存:代码生成直接生成Redis对接代码。 特性: JeeSpringCloud基于SpringBoot+SpringMVC+Mybatis+Redis+SpringCloud+Vue.js微服务分布式代码生成的敏捷开发系统架构。项目代码简洁,注释丰富,上手容易,还同时集中分布式、微服务,同时包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块。成为大众认同、大众参与、成就大众、大众分享的开发平台。JeeSpring官方qq群(328910546)。代码生成前端界面、底层代码(spring mvc、mybatis、Spring boot、Spring Cloud、微服务的生成)、安全框架、视图框架、服务端验证、任务调度、持久层框架、数据库连接池、缓存框架、日志管理、IM等核心技术。努力用心为大中小型企业打造全方位J2EE企业级平台ORM/Redis/Service仓库开发解决方案。一个RepositoryService仓库就直接实现dubbo、微服务、基础服务器对接接口和实现。 努力用心为大中小型企业打造全方位J2EE企业级平台开发解决方案。 Spring Boot/Spring cloud微服务是利用云平台开发企业应用程序的最新技术,它是小型、轻量和过程驱动的组件。微服务适合设计可扩展、易于维护的应用程序。它可以使开发更容易,还能使资源得到最佳利用。 微服务/集群(nignx) 支持REST风格远程调用(HTTP + JSON/XML):基于非常成熟的Spring Boot框架,在Spring Boot Spring Cloud中实现了REST风格(HTTP + JSON/XML)的远程调用,以显着简化企业内部的跨语言交互,同时显着简化企业对外的Open API、无线API甚至AJAX服务端等等的开发。 事实上,这个REST调用也使得Dubbo可以对当今特别流行的“微服务”架构提供基础性支持。
### 回答1: Dubbo-Admin 是 Dubbo 的管理控制台,提供了可视化的服务管理界面和服务治理功能。以下是 Dubbo-Admin 的接口文档: 1. 获取所有服务列表 接口地址:/api/services 请求方式:GET 请求参数:无 返回参数: ``` { "success": true, "serviceList": [ "com.xxx.service.UserService", "com.xxx.service.OrderService", "com.xxx.service.ProductService" ] } ``` 2. 获取服务详细信息 接口地址:/api/service 请求方式:GET 请求参数: ``` { "service": "com.xxx.service.UserService" } ``` 返回参数: ``` { "success": true, "service": "com.xxx.service.UserService", "methods": [ { "name": "getUserById", "parameterTypes": [ "java.lang.String" ], "returnType": "com.xxx.model.User", "exceptionTypes": [], "annotations": [], "attributes": {} }, { "name": "getUsers", "parameterTypes": [], "returnType": "java.util.List<com.xxx.model.User>", "exceptionTypes": [], "annotations": [], "attributes": {} } ] } ``` 3. 获取服务提供者列表 接口地址:/api/providers 请求方式:GET 请求参数: ``` { "service": "com.xxx.service.UserService" } ``` 返回参数: ``` { "success": true, "providers": [ { "url": "dubbo://192.168.0.1:20880/com.xxx.service.UserService", "application": "userServiceApp", "group": "userService", "version": "1.0.0", "methods": [ "getUserById", "getUsers" ] }, { "url": "dubbo://192.168.0.2:20880/com.xxx.service.UserService", "application": "userServiceApp", "group": "userService", "version": "1.0.0", "methods": [ "getUserById", "getUsers" ] } ] } ``` 4. 获取服务消费者列表 接口地址:/api/consumers 请求方式:GET 请求参数: ``` { "service": "com.xxx.service.UserService" } ``` 返回参数: ``` { "success": true, "consumers": [ { "ip": "192.168.1.1", "application": "userApp", "group": "userService", "version": "1.0.0" }, { "ip": "192.168.1.2", "application": "orderApp", "group": "userService", "version": "1.0.0" } ] } ``` 5. 获取服务调用统计信息 接口地址:/api/statistics 请求方式:GET 请求参数: ``` { "service": "com.xxx.service.UserService", "method": "getUserById" } ``` 返回参数: ``` { "success": true, "statistics": [ { "ip": "192.168.1.1", "successCount": 100, "failureCount": 10, "elapsedTime": 5000, "concurrent": 100 }, { "ip": "192.168.1.2", "successCount": 200, "failureCount": 20, "elapsedTime": 10000, "concurrent": 200 } ] } ``` ### 回答2: dubbo-admin 接口文档是用于 Dubbo 分布式服务框架的管理平台的接口文档。该文档提供了 Dubbo-admin 的各种接口方法的详细描述和使用说明,方便开发人员了解和使用 Dubbo-admin 的功能。 Dubbo-admin 是一个基于Dubbo的开源项目,用于管理和监控 Dubbo 服务的平台。通过 Dubbo-admin,开发人员可以方便地查看和管理 Dubbo 服务的注册、订阅、调用和监控等信息,从而更好地掌握整个分布式服务的运行情况。 Dubbo-admin 接口文档主要包含以下内容: 1. 服务管理接口:包括服务的注册和注销,查询已注册的服务,以及服务的增删改查等功能。通过这些接口,开发人员可以方便地管理和维护 Dubbo 服务。 2. 调用管理接口:包括服务的调用和查看服务调用信息等功能。通过这些接口,开发人员可以方便地查看服务的调用情况,从而及时发现和解决服务调用的问题。 3. 监控管理接口:包括服务的监控和查询服务的监控信息等功能。通过这些接口,开发人员可以方便地查看服务的监控数据,如调用次数、平均响应时间等,从而及时了解服务的运行状况。 4. 权限管理接口:包括用户的登录和权限管理等功能。通过这些接口,开发人员可以方便地管理用户的访问权限,保护 Dubbo-admin 的安全。 总之,Dubbo-admin 接口文档开发人员使用 Dubbo-admin 的重要参考,提供了丰富的接口方法和使用说明,方便开发人员快速上手并有效地使用 Dubbo-admin 进行分布式服务的管理和监控。 ### 回答3: dubbo-admin是一个开源的Dubbo服务管理和治理平台,提供了一种方便的方式来管理和监控Dubbo服务。接口文档是对dubbo-admin的API接口进行详细的描述和说明。 dubbo-admin的接口文档主要包括以下内容: 1. 接口列表:列出了dubbo-admin提供的所有接口,包括接口名称、描述、请求方法和请求路径等信息。 2. 接口参数:对每个接口的请求参数进行说明,包括参数名称、数据类型、是否必填、参数说明等。 3. 接口返回值:对每个接口的返回值进行说明,包括返回值的数据类型、含义、示例等。同时还会说明可能的错误码和错误信息,以及如何处理异常情况。 4. 接口示例:提供了一些常见的接口使用示例,帮助用户更好地理解如何使用接口。 5. 接口权限:对每个接口的访问权限进行说明,包括需要的认证方式、权限等级等信息。 通过接口文档,用户可以了解到dubbo-admin提供的所有功能和接口及其使用方法。开发人员可以根据接口文档进行接口的调用和测试,并根据返回值和错误码进行相应的处理。同时,接口文档还可以作为一种参考资料,供开发人员进行二次开发和定制化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值