微服务集成smart-doc和Torna

1、父节点pom加入smart-doc插件


            <plugin>
                <groupId>com.github.shalousun</groupId>
                <artifactId>smart-doc-maven-plugin</artifactId>
                <version>2.4.6</version>
                <configuration>
                    <!--指定生成文档的使用的配置文件-->
                    <configFile>${basedir}/src/main/resources/smart-doc.json</configFile>
                    <!--指定项目名称-->
                    <projectName>API</projectName>
                    <!--指定扫描某目录的文件-->
<!--                    <includes>-->
<!--                        <include>com.zhulin:.*</include>-->
<!--                    </includes>-->
                    <excludes>
                        <!--格式为:groupId:artifactId;参考如下-->
                        <!--也可以支持正则式如:com.alibaba:.* -->
                        <exclude>com.alibaba.*:.*</exclude>
                        <exclude>io.netty:.*</exclude>
                        <exclude>org.springframework.cloud:.*</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <!--如果不需要在执行编译时启动smart-doc,则将phase注释掉-->
                        <phase>install</phase>
                        <goals>
                            <!--smart-doc提供了html、openapi、markdown等goal,可按需配置-->
                            <goal>html</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

<configFile>${basedir}/src/main/resources/smart-doc.json</configFile>

这里的意思是会扫描所有子项目下resources的smart-doc.json文件,所以我们在子项目中新增对应的smart-doc.json即可

<includes>
    <include>com.zhulin:.*</include>
</includes>

includes和下面excludes可以各选一个来处理,includes为指定扫描包下的接口

上面的意思就是只扫描com.zhulin包下的文件

采用这种方法的话建议直接扫描根目录包,如(com.zhulin:.*),不要指定扫描某个controller包,因为controller还引用了别的包的文件,由于扫描不到别的包,这样会出问题。

<excludes>
      <!--格式为:groupId:artifactId;参考如下-->
       <!--也可以支持正则式如:com.alibaba:.* -->
       <exclude>com.alibaba.*:.*</exclude>
       <exclude>io.netty:.*</exclude>
       <exclude>org.springframework.cloud:.*</exclude>
</excludes>

这里excludes是为了排除smart-doc进行扫描这里面的包,理论上我们只想smart-doc去扫描我们的自己写的项目文件,仅此而已。excludes中的设置不是固定的,是根据我们的项目引用了什么依赖来定

举个例子:当我们去执行插件命令

看到如下日志可知,smart-doc去扫描了nacos-client了,那么这不是我们期望的,那么我们在excludes中加上<exclude>com.alibaba.*:.*</exclude>即可消除

 <execution>
       <!--如果不需要在执行编译时启动smart-doc,则将phase注释掉-->
       <phase>install</phase>
       <goals>
            <!--smart-doc提供了html、openapi、markdown等goal,可按需配置-->
            <goal>html</goal>
            </goals>
</execution>

这里可知当maven插件去执行install时,smart-doc会进行启动执行<phase>install</phase>中可以填写别的值,如compile/package等

2、子模块添加smart-doc.json

直接放入resources目录下即可

smart-doc.json内容如下:

{
  "outPath": "target/doc",
  "projectName": "文件服务接口",
  "packageFilters": "com.zhulin.file.controller.*",
  "openUrl": "http://192.168.3.128:7700/api",
  "appToken": "2ba95a38f1094cd09a31b10b68fff06a",
  "debugEnvName":"本地环境",
  "debugEnvUrl":"http://localhost:8080/file",
  "tornaDebug": true,
  "replace": true
}

outPath代表执行插件命令后文档输出到哪个目录下
packageFilters:指定controller包目录
openUrl:采用填写torna的api访问路径  
appToken:该子模块对应torna创建的模块所产生的token
debugEnvName:环境名称,理论上可根据环境切换
debugEnvUrl:环境的具体访问前缀路径
tornaDebug和replace固定为true即可

openUrl和appToken来源于如下图:下面步骤会说明如何到此页面

部署torna推荐使用docker,可看上期文章

3、在torna新建该项目

 

 

 

 

 由上面smart-doc.json对应子模块为文件管理,那么我就起名文件管理模块

创建好后进入OpenAPI

 

 可以得到我们上面smart-doc.json需要

"openUrl": "http://192.168.3.128:7700/api",
"appToken": "880b626916d143e19e864109fb450dfd",

的2个值

 以此类推,所有的子模块服务的resources下都放入smart-doc.json,然后在torna中创建对应的模块,然后设置从OpenAPI中获取的参数进行关连。

4、执行插件命令,刷新torna查看结果

在idea中直接点击插件即可

 

 刷新torna可看到我们的接口信息

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Smart-doc torna集成是指将Smart-doc技术与torna接口管理平台进行集成,从而实现更加高效、便捷的接口文档管理和生成。 Smart-doc是一款基于Java语言开发的接口文档生成工具,它能够通过读取Java源码中的注解信息,自动生成完整的接口文档,并支持在线查看和导出成HTML、Markdown等格式,非常方便开发人员进行接口文档编写和维护。 而torna接口管理平台是由蚂蚁金服开发并开源的一款接口管理工具,它提供了强大的接口管理功能,包括接口测试、Mock数据、文档管理等。通过torna,开发人员可以更加方便地进行接口的管理和测试。 将Smart-doctorna集成后,可以实现以下几个优势: 1. 自动化文档生成:Smart-doc能够自动读取Java源码中的注解信息,生成完整的接口文档,而且生成的文档格式清晰易读,可以直接在线查看和编辑。 2. 接口管理一体化:借助torna的功能,可以实现接口的管理、测试和Mock数据的生成。开发人员可以在torna中直接使用Smart-doc生成的接口文档,无需再手动编写和维护接口文档。 3. 效率提升:由于接口文档的生成和管理都可以在torna中完成,开发人员可以节省大量的时间和精力,将更多的时间用于接口的设计和开发。 4. 团队协作:Smart-doc torna集成后,团队成员可以在同一平台上查看和编辑接口文档,便于团队成员之间的沟通和协作。 综上所述,Smart-doc torna集成将会大大提升接口文档的生成和管理效率,减少团队的工作量,提高团队的协作能力,是一款非常实用的接口管理工具。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值