V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sunshai
V2EX  ›  程序员

咨询: Go 开发 api 管理工具

  •  
  •   sunshai · Apr 2, 2024 · 3844 views
    This topic created in 760 days ago, the information mentioned may be changed or developed.

    大家好,我是一名 Go 后端开发程序员,最近想使用 Go 语言开发一款 api 管理软件(桌面,Web ),类似 Apifox ,Postman ,RapidAPI ,Insomnia...等等 api 管理工具

    为什么开发:

    1. 后端开发,方便管理开发的 api
    2. 空闲时间多,提升开发能力,积累技术栈
    3. 为后续项目"api 自动化"开发打基础

    想咨询一下各位技术同行们,你们平时工作过程中使用 api 管理工具频繁吗?开源的还是不开源的呢?

    Supplement 1  ·  Apr 2, 2024
    感谢各位的回复,这里做一下总结:
    1. 使用 Protobuf ,swagger 之类的做定义接口导出
    2. 将导出的接口再导入 apifox ,postman 之类 api 工具管理
    19 replies    2024-04-03 18:30:17 +08:00
    MIUIOS
        1
    MIUIOS  
       Apr 2, 2024   ❤️ 1
    以前都是手写文档,后面实在累了, 用 swagger 生成 json 再导入到 apifox 里去管理维护,简单明了,而且 apifox 也支持定时导入。
    mohuani
        2
    mohuani  
       Apr 2, 2024
    1 、一般都是前后端第一次对接的时候用下,然后就是出问题的时候,再看一下原来的 api 文档,看看是前端还是后端偷偷改代码了。
    2 、还有就是自己可能会写一些本地的 api 脚本,时间长了再用的时候,记不住参数了,再看一下文档,不过这些基本都用 postman 解决了
    smartdoc647
        3
    smartdoc647  
       Apr 2, 2024
    go 语言做 web 开发,api 管理工具不是最重要的,生成 API 文档的过程很烦,go swagger 页要求程序员写一堆的注释。
    我自己是 java 文档生成工具 smart-doc 的作者。目前也只一个主力 go 语言的应用开发者。管理工具其实已经很多了,针对 go 语言文档生成端非常的弱
    MIUIOS
        4
    MIUIOS  
       Apr 2, 2024
    @smartdoc647 是的 在方法上拉一坨的注释。。。
    tangtang369
        5
    tangtang369  
       Apr 2, 2024
    swagger 不好用吗
    Rehtt
        6
    Rehtt  
       Apr 2, 2024 via Android
    我这是用 protobuf 定义接口,生成 swagger 再导进 apifox
    StarUDream
        7
    StarUDream  
       Apr 2, 2024   ❤️ 1
    我们也是用 Protobuf 定义接口,然后用 https://github.com/grpc-ecosystem/grpc-gateway 生成文档,相较于 Swaggo 写注释体感上好不少
    lolizeppelin
        8
    lolizeppelin  
       Apr 2, 2024
    我感觉用 ast 解析注释, 配合反射读字段 tag 的形式生成 Swaggo 更灵活一点
    tangqiu0205
        9
    tangqiu0205  
       Apr 2, 2024
    @Rehtt #6 同样
    luozic
        10
    luozic  
       Apr 2, 2024
    基于 swagger 的 openapi 标准再搓呗,这个是现在的标准,都已经到 3.0 了 GitHub 上有协议
    veni2023
        11
    veni2023  
       Apr 2, 2024
    apipost 不错,分享方便,权限可控,还有提取返回,自动填充其他 api 相同字段名说明这个方便的功能
    lrh3321
        12
    lrh3321  
       Apr 2, 2024
    typespec 写,然后转成 openapi3 导入 Insomnia
    wujianhua22
        13
    wujianhua22  
       Apr 2, 2024
    1 、go-swag 用着很不爽,我们都用 protobuf 生成接口文档。然后在程序里面加一个 swagger 的 UI ,静态部署就可以了。
    2 、另外不建议做 API 管理软件。现在的 API 管理软件已经饱和了,除非你能解决痛点或者又更好的管理方案,比如实现更高级的 API 版本管理等。
    3 、也可以做做类似 Apifox Helper 这种工具,java 可以通过注解识别程序代码里面的 handler/controller 去自动解析代码然后生成导出文件,go 这边我还不知道怎么实现,这种应该有一定的技术提升。
    cyrivlclth
        14
    cyrivlclth  
       Apr 2, 2024
    @totoro52 #4 瘪说了,java 那边 swagger 有注解,有些人还嫌弃,吹什么代码侵入性,非要在方法上拉一坨注释
    layxy
        15
    layxy  
       Apr 3, 2024
    @lolizeppelin 问题 go 不像 java 有框架和约束写法,go 的 web 框架基本没啥约束,参数绑定这块灵活性很高,很难识别和生成文档
    Desdemor
        16
    Desdemor  
       Apr 3, 2024
    1 普通版本:swag 生成,导入到 apifox
    2 框架自带:goframe 里面带了个注入的好像,没细看
    lolizeppelin
        17
    lolizeppelin  
       Apr 3, 2024
    @layxy
    其实可以,解析服务组件的时候,限定函数参数个数,类型返回值与个数就行
    微服务框架的基本做法
    ben666
        18
    ben666  
       Apr 3, 2024
    go api 网关 bfe 了解下
    bugcreator
        19
    bugcreator  
       Apr 3, 2024 via iPhone
    我们之前 Java 用的 yapi ,不知道是否有 go 版本,不过应该可以作为参考。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2473 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 08:02 · PVG 16:02 · LAX 01:02 · JFK 04:02
    ♥ Do have faith in what you're doing.