• 微服务集成smart-doc和Torna


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

    1. <plugin>
    2. <groupId>com.github.shalousungroupId>
    3. <artifactId>smart-doc-maven-pluginartifactId>
    4. <version>2.4.6version>
    5. <configuration>
    6. <configFile>${basedir}/src/main/resources/smart-doc.jsonconfigFile>
    7. <projectName>APIprojectName>
    8. <excludes>
    9. <exclude>com.alibaba.*:.*exclude>
    10. <exclude>io.netty:.*exclude>
    11. <exclude>org.springframework.cloud:.*exclude>
    12. excludes>
    13. configuration>
    14. <executions>
    15. <execution>
    16. <phase>installphase>
    17. <goals>
    18. <goal>htmlgoal>
    19. goals>
    20. execution>
    21. executions>
    22. plugin>

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

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

    
        com.zhulin:.*
    
    

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

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

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


         
           
           com.alibaba.*:.*
           io.netty:.*
           org.springframework.cloud:.*

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

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

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

     
           
           install
           
               
                html
               

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

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

    直接放入resources目录下即可

    smart-doc.json内容如下:

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

    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可看到我们的接口信息

  • 相关阅读:
    https安全性 带给im 消息加密的启发
    【操作系统-线程池】Pthread 线程池的设计及实现
    SpringBoot - SpringBoot配置说明
    基于蜜蜂算法的函数寻优及TSP搜索算法
    9、传统计算机视觉 —— 边缘检测
    语音识别whisper的介绍、安装、错误记录
    基于springboot的青年公寓服务平台源码数据库
    Java中包装类的常用方法
    java毕业设计二手交易网站Mybatis+系统+数据库+调试部署
    Spring mvc中Controller如何设置接受参数的默认值呢?
  • 原文地址:https://blog.csdn.net/boywcx/article/details/126718195