V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
smartdoc647
V2EX  ›  分享创造

smart-doc Java 零注解侵入 API 文档工具 2.2.4 发布

  •  
  •   smartdoc647 · 2021-08-10 10:00:02 +08:00 · 1703 次点击
    这是一个创建于 961 天前的主题,其中的信息可能已经有所发展或是发生改变。

    smart-doc 经历了三年的发展,已经得到了行业内许多开发团队的认可。如科大讯飞、小米、顺丰内部都有部分团队在采用 smart-doc 来生成 API 文档。

    功能特性

    • 零注解、零学习成本、只需要写标准 java 注释。
    • 基于源代码接口定义自动推导,强大的返回结构推导。
    • 支持 Spring MVC,Spring Boot,Spring Boot Web Flux(controller 书写方式)。
    • 支持 Callable,Future,CompletableFuture 等异步接口返回的推导。
    • 支持 JavaBean 上的 JSR303 参数校验规范,支持分组验证。
    • 对 json 请求参数的接口能够自动生成模拟 json 参数。
    • 支持生成 json 返回值示例。
    • 支持从项目外部加载源代码来生成字段注释。
    • 支持生成多种格式文档:Markdown 、HTML5 、Postman collection 。
    • 插件式快速集成(maven 、gradle)。
    • 拥有完整的从文档生成到企业级文档管理的方案(smart-doc+torna 可以类比为 yapi 的插件和 yapi,但是比 yapi 整体处理能力更强),torna 基于 SpringBoot 完成开发很方便企业去做二次开发。

    项目仓库

    github 仓库地址链接

    未来新功能

    • 根据 API 接口生成 jemeter 性能测试脚本。
    • JAX-RS 标准支持,支持更多的框架,如:Quarkus 、Dubbo Rest 。(开发已经完成,进入测试阶段)
    7 条回复    2021-08-19 14:27:04 +08:00
    v2orz
        1
    v2orz  
       2021-08-11 10:12:47 +08:00
    感觉挺有意思,在自己项目尝试了几个
    识别能力有待加强,有自定义注解的字段好多都解析不到注释
    JSR303 如果在 set 方法上貌似也有问题?
    v2orz
        2
    v2orz  
       2021-08-11 10:13:26 +08:00
    总的来说很感兴趣,感谢你们的工作
    122006
        3
    122006  
       2021-08-11 19:02:35 +08:00
    其实这种功能最好还是通过 idea 插件遍历 psi 元素来实现,真正做到 0 侵入
    难度也差不多
    guyeu
        4
    guyeu  
       2021-08-14 10:45:16 +08:00
    非 spring boot 或者 dubbo 项目,能支持吗
    smartdoc647
        5
    smartdoc647  
    OP
       2021-08-19 13:49:04 +08:00
    @v2orz 自定义注解肯定不属于我的支持的范畴,注解属性就很宽泛,都是有一定框架使用范围的。开源一般只做一些标准框架支持
    v2orz
        6
    v2orz  
       2021-08-19 13:58:36 +08:00
    @smartdoc647 我的意思不是解析自定义注解

    而是指,有些字段上存在自定义注解,结果这个字段的注释就没有解析到
    smartdoc647
        7
    smartdoc647  
    OP
       2021-08-19 14:27:04 +08:00
    @v2orz 有问题可以提 issue 的,附带导致错误的用例就可以,毕竟要面向很多写法。都是不断迭代修复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3152 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:35 · PVG 20:35 · LAX 05:35 · JFK 08:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.