问一下各位大佬.. 除了 Swagger 还有其他生成 API 文档的东西么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
haierspi
V2EX    Go 编程语言

问一下各位大佬.. 除了 Swagger 还有其他生成 API 文档的东西么?

  •  
  •   haierspi 2022-09-20 14:21:11 +08:00 3923 次点击
    这是一个创建于 1125 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Swagger 的文档定义太弱的感觉.. 很多无法定义

    19 条回复    2023-10-14 21:57:28 +08:00
    Terry05
        1
    Terry05  
       2022-09-20 14:29:18 +08:00
    YAPI 、APIFOX
    xiao109
        2
    xiao109  
       2022-09-20 14:40:24 +08:00
    openapi + redoc 。
    LeegoYih
        3
    LeegoYih  
       2022-09-20 15:01:30 +08:00
    什么场景
    charmToby
        4
    charmToby  
       2022-09-20 15:23:30 +08:00
    nekoneko
        5
    nekoneko  
       2022-09-20 17:41:07 +08:00
    @charmToby #4 感觉还不如 Swagger 呢, 好麻烦的样子
    我记得有 IDEA 插件, 无侵入式的
    yhvictor
        6
    yhvictor  
       2022-09-20 17:43:33 +08:00 via iPhone
    实际用了 protobuf 就没这个问题了
    vayci
        7
    vayci  
       2022-09-20 18:46:32 +08:00
    spring 全家桶之 spring-restdocs
    tramm
        8
    tramm  
       2022-09-20 18:59:32 +08:00
    dorna
    tramm
        9
    tramm  
       2022-09-20 18:59:55 +08:00
    @tramm Torna
    silentsky
        10
    silentsky  
       2022-09-20 19:19:53 +08:00 via Android
    apifox
    Benana
        11
    Benana  
       2022-09-21 10:09:52 +08:00
    我一般用 Swagger 的增强,knife4j
    cp19890714
        12
    cp19890714  
       2022-09-21 13:29:26 +08:00
    * yapi
    * easyapi 有 IDEA 插件
    * smart-doc + torna 有 maven 插件,这是我现在在用的

    smart-doc + torna 最大优点是对代码无侵入。
    通过 maven plugin 一键生成文档,上传到 torna ,其他人在 torna 上可以立即看到文档更新。torna 还支持接口调用和 mock 。
    songhaozhi
        13
    songhaozhi  
       2022-09-21 13:41:39 +08:00
    smart-doc 是一款同时支持 java restful api 和 apache dubbo rpc 接口文档生成的工具。完全基于注释生成文档,做到零侵入。

    https://github.com/smart-doc-group/smart-doc
    securityCoding
        14
    securityCoding  
       2022-09-30 11:54:50 +08:00
    @yhvictor protobuf 好评,直接基于 pb 生成 rpc/http 接口代码就行了。
    AxinBlog
        15
    AxinBlog  
       2022-10-17 17:30:22 +08:00
    php
    AxinBlog
        16
    AxinBlog  
       2022-10-17 17:32:51 +08:00
    我去,按个回车就回复了,php 我用 apidoc ,java 我用 knife4j ,公司 apifox
    haierspi
        17
    haierspi  
    OP
       2023-08-03 14:17:32 +08:00
    想集成到 go 的项目里..
    haierspi
        18
    haierspi  
    OP
       2023-08-03 14:17:59 +08:00
    @Terry05 apifox 已经在用了.. 但是要手动去添加
    ricebna
        19
    ricebna  
       2023-10-14 21:57:28 +08:00
    对于接口文档的编写, 我觉得用任何工具都会有极大的效率耗损。包括 yapi ,postman ,还有注释类的 swagger 。
    接口文档特别是内部用的并且是前端用的,95%的情况就是一个简单的输出与输入,主要工作是描述清楚字段结构,主要目的是与前端达成沟通以及存档的作用,并不需要多么标准化。
    而各种工具,无论是界面类的还是注释自动转换类的, 都需要遵照特定规范,按要求去填写。
    点击一个输入框或是写上特定标记注释都需要额外消耗,这些精准规范其实没必要。

    所以我认为在写文档的效率方面, 直接用最简单的文本是最方便的,直接在代码编辑器方法的注释上上这段文本,不需要遵照特定注释规范,无需担心格式出错。特别是输出参数比较多, 层级也多,直接用所见即所得的 json 文本本身做为描述是最简单的。

    然后把我们写得不那么标准的简化注释用 ChatGPT 转换成勉强标准的结构化文档,这样就很好,它就适合做这类不精准的东西,还有纠错能力。
    我试过了,它转换成的 postman 导入文件居然是对的,我还担心这种事情它一般会出错,不过凡涉及代码的东西最好不用,有时出错给它排错的时间不值。

    [Imgur]( )
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2663 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 09:32 PVG 17:32 LAX 02:32 JFK 05:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86