• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sunshai
V2EX  ›  程序员

咨询: Go 开发 api 管理工具

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