V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
rookie2luochao
V2EX  ›  程序员

做一个 Java 、 Python 、rust 版本的 新 swagger-ui 包会有人用吗

  •  
  •   rookie2luochao ·
    rookie-luochao · 2024-05-13 10:45:22 +08:00 · 2818 次点击
    这是一个创建于 478 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已经做了前端 CDN 、React 、vue 版本,后端 golang 版本,正在做 后端 nodejs 版本,代码仓库地址如下,欢迎 fork, pr , 谢谢各位大佬: golang 版本仓库 openapi-ui 基础仓库

    如果有人愿意往 openapi-ui 组织下提供 java 、python 、rust 版本的 swagger-ui 包(基于 openapi-ui 基础仓库,我将持续维护和迭代这个基础 UI),那将不胜感激

    20 条回复    2024-05-15 13:52:52 +08:00
    smartdoc647
        1
    smartdoc647  
       2024-05-13 11:29:27 +08:00
    ui 这种还是适合小型组织,在大厂 ui 不怎么行的通。包括在应用里集成 swagger 也不太行, 侵入性会被很多团队放弃, 压法阶段基本上走下正常单元测试就可以, 不需要什么界面去自测。成熟组织一般就是 yapi 和 torna 这种具备集成和管理的系统。
    w292614191
        2
    w292614191  
       2024-05-13 12:09:48 +08:00
    跟 knife4j 有啥区别?

    https://doc.xiaominfo.com/
    rookie2luochao
        3
    rookie2luochao  
    OP
       2024-05-13 13:12:54 +08:00
    @smartdoc647 我很认同你的观点,就是做它的原因就是用到 swagger-ui 的地方太难用,想做个稍微人性化点的,其他的却是没有想那么多,国内确实都非常不认同 swagger 这种 api 定义方式
    rookie2luochao
        4
    rookie2luochao  
    OP
       2024-05-13 13:14:01 +08:00
    @smartdoc647 yapi 应该也不好做吧,不然也不会停止维护了?
    rookie2luochao
        5
    rookie2luochao  
    OP
       2024-05-13 13:17:01 +08:00
    @w292614191 knife4j 是注解生成 api + api-ui, 是专门给 java 用的 jar 包,而我这个只是解耦出来的更简单 api-ui 层的抽象🥹,因为我只是个前端 er, 所以能力只够做 ui 层
    smartdoc647
        6
    smartdoc647  
       2024-05-13 13:43:00 +08:00
    @rookie2luochao yapi 不怎么维护,而且他的后台用 nodejs 开发的也不太符合现在很多公司的主流技术了,二次开发不行。所以我做 smart-doc 这个工具的时候发起了 torna ,torna 现在国内部署量还可以,但是受限于前端,目前社区也缺人力。
    wssy001
        7
    wssy001  
       2024-05-13 15:30:51 +08:00
    @rookie2luochao knife4j 前身也只是一个 swagger-ui 后来用的人多了 就加了功能增强
    rookie2luochao
        8
    rookie2luochao  
    OP
       2024-05-13 16:23:38 +08:00
    @wssy001 原来是这样,java 是不是有更完美的一体化 swagger api + swagger-ui 方案,不然 knife4j 如果好用,应该这么多年,也不至于才 3K 多 star
    wssy001
        9
    wssy001  
       2024-05-13 16:42:42 +08:00
    @rookie2luochao 好用和 star 数有关系吗?
    rookie2luochao
        10
    rookie2luochao  
    OP
       2024-05-13 16:50:39 +08:00
    @wssy001 认知里面 star 数侧面能一定程度反应火热程度?
    jefferyJQ
        11
    jefferyJQ  
       2024-05-13 18:43:22 +08:00
    那你这和 apifox 有啥区别?
    Ashe007
        12
    Ashe007  
       2024-05-13 19:57:58 +08:00 via iPhone
    没必要,毕竟 api 工具 postman ,apifox ,eolink 都支持生成在线接口文档。

    模仿 swagger 那种侵入式框架更加希望渺茫
    rookie2luochao
        13
    rookie2luochao  
    OP
       2024-05-13 22:30:50 +08:00
    @jefferyJQ 区别就是可以随着后端 api 一起预览?
    rookie2luochao
        14
    rookie2luochao  
    OP
       2024-05-13 22:32:10 +08:00
    @Ashe007 可是后端写注解动态生成接口文档,顺便也能帮助前端自动化提效,不考虑侵入式还是很方便的,就是后端麻烦点,可是接口本来就应该写点注释?
    Ashe007
        15
    Ashe007  
       2024-05-14 00:50:42 +08:00 via iPhone
    @rookie2luochao 在以前没多少人会编程的时候,swagger 框架确实对于前后端联调接口帮助很大,但是现在的趋势是全栈,大语言模型,前后端联调已经是一些很基础的东西了,即使不会随便问问 ChatGPT ,文心一言都能答疑解惑。

    并且像 postman 这样的 api 软件都在推出在线接口文档,这也说明程序员更倾向于在接口调试时完成接口文档的编辑,而不是在编码时考虑接口文档。
    rookie2luochao
        16
    rookie2luochao  
    OP
       2024-05-14 09:33:04 +08:00
    @Ashe007 您说的东西在现在这个时间点我是认同的,确实 swagger 对于后端来说是一个繁琐的东西。但是对于前端来说,却大有用处,可以节约不少写接口请求和测试接口的时间。可是在线文档也有一个更大的通病就是文档和代码的同步和一致性,这点 swagger 也是有的,但是在线 api 文档这点更为明显?
    rookie2luochao
        17
    rookie2luochao  
    OP
       2024-05-14 09:34:46 +08:00
    @smartdoc647 我有时间去了解下前辈的 smart-doc ,请问 torna 部署量已经达到什么量级了?请问可以甩个 github 链接吗
    Ashe007
        18
    Ashe007  
       2024-05-14 09:56:57 +08:00
    @rookie2luochao 同意你所指出的缺点(文档和代码的同步和一致性),但这些都是程序员修改接口时忘记修改接口文档所引发的,属于人为错误,不属于产品缺陷。

    做一款产品需要迎合市场,当市场都在追求在线接口文档的时代,逆行开发类 swagger 框架,从概率上看投入产出比很难达到某个期望值
    rookie2luochao
        19
    rookie2luochao  
    OP
       2024-05-14 10:35:27 +08:00
    @Ashe007 好的,虚心接受大佬的意见,愿意支持它是因为我是前端 er ,有了这个东西,我可以不用花很多精力去关心接口的变动,我可以用纯 ts 写业务代码,代码健壮性、繁琐性、可维护性大大增加
    smartdoc647
        20
    smartdoc647  
       2024-05-15 13:52:52 +08:00
    @rookie2luochao 目前主要在国内仓库,torna 是因外一个社区的人开发的,我属于项目发起人,docker 镜像下载量 5 位数+级别的,https://gitee.com/durcframework/torna
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1575 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 16:30 · PVG 00:30 · LAX 09:30 · JFK 12:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.