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

开源的 API 工具上了阮一峰老师的 weekly 推荐,也没有获得几个 star

  •  
  •   rookie2luochao ·
    rookie-luochao · 2024-03-14 09:46:21 +08:00 · 7740 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 它是一个简单轻量、比 swagger-ui 更美观的 openapi 接口文档,可以快速的生成模拟请求参数并调用 api 请求,UI 设计简洁美观、聚焦实用功能、使用简单方便、对很多信息的填写支持很好(诸如时间、文件、选择多个枚举等等)。
    2. 它还提供类似 postman 的手动填写请求信息页面,对比较难填的字段做了填写优化(例如:时间字段、文件字段)。
    3. 它有着符合程序猿审美的简洁 UI 布局, 可以快捷模拟上百个字段的请求参数,手动填写 body 数据会提示字段名称和字段类型
    4. 可以全局动态配置 Authorization 和接口请求超时时间,省略每个接口去填 Authorization 请求头,可以不同接口都切换不同的等待时间
    5. 代码完全开源,还可以基于此项目二次开发(服务器托管公司所有微服务 api 文档,快捷切换选择指定 api 文档进行查阅测试)
    6. 基于 react18 + ts5 + vite5 + Docker 技术栈,为前端开发提供一个开发到部署的标准模板

    UI 展示

    15.jpg 9.jpg 7.jpg

    71 条回复    2024-04-01 09:56:57 +08:00
    yangheng4922
        1
    yangheng4922  
       2024-03-14 10:04:08 +08:00
    感觉还是挺丑,
    rookie2luochao
        2
    rookie2luochao  
    OP
       2024-03-14 10:11:33 +08:00
    @yangheng4922 需要你的改造,来个 pr
    huangliu
        3
    huangliu  
       2024-03-14 10:12:21 +08:00
    我年前两期上了阮一峰老师的 weekly ,外加通过他 weekly 让其他自媒体看到并自发宣传,那段时间涨了 1k 多星。他的流量和影响力还是很高的
    luojianxhlxt
        4
    luojianxhlxt  
       2024-03-14 10:15:56 +08:00
    单纯说说我的想法,我这边用 swagger 之后,apifox/postman 之类的导入后,就没 swagger 啥事了。。。没啥动力切换掉 swagger
    bv
        5
    bv  
       2024-03-14 10:23:22 +08:00   ❤️ 2
    当时还试用了一下,看到 UI 直接没有继续使用的欲望了,OP 在做这个选题的时候可能都没有简单的市场调研和竟品分析。
    1. UI 确实不咋好看。
    2. 部署需要轻便,简单的 html 引入 js css 就可以部署运行,弄个 docker 有点重了。
    3. 参考下列竟品,做好交互。
    https://petstore.swagger.io/
    https://elements-demo.stoplight.io/
    https://scalar.com/
    https://redocly.github.io/redoc/
    Rache1
        6
    Rache1  
       2024-03-14 10:23:29 +08:00
    swagger 的之前看到过这个,感觉还不错

    GitHub - xiaoymin/knife4j: Knife4j is a set of Swagger2 and OpenAPI3 All-in-one enhancement solution
    https://github.com/xiaoymin/knife4j
    foolishcrab
        7
    foolishcrab  
       2024-03-14 10:24:08 +08:00 via iPhone
    1. 这个品类上已经有巨头占据生态位,没有用的欲望
    2.看的人觉得技术上没有特别的地方,不想 star

    磨练下自己技术挺好的,不建议投入太多精力
    amon
        8
    amon  
       2024-03-14 10:25:29 +08:00
    接口文档工具太多了,不建议再重复造轮子了。
    rookie2luochao
        9
    rookie2luochao  
    OP
       2024-03-14 10:26:38 +08:00
    @foolishcrab 主要是自己用一下,玩一玩,谢谢,不会投入过多精力
    rookie2luochao
        10
    rookie2luochao  
    OP
       2024-03-14 10:27:32 +08:00
    @amon 好的,最开始只是公司内部需要一个文档管理平台,后面自己砍掉了很多可视化功能并开源了文档部分
    rookie2luochao
        11
    rookie2luochao  
    OP
       2024-03-14 10:28:28 +08:00
    @Rache1 这个是 java 的一个集成工具,听说也不是很好用,国产挺难的,可能都是玩一下为主吧
    LHRUN
        12
    LHRUN  
       2024-03-14 10:29:01 +08:00
    可能有的看一下使用意愿不强就不想点进 github 了,阮一峰老师的 weekly 还是很顶的,之前我上过,涨了几百 star

    建议重新改一下设计,感觉你应该不经常做 C 端应用
    coolcoffee
        13
    coolcoffee  
       2024-03-14 10:29:12 +08:00
    Op 可以参考竞品 redoc 。引入一个 js https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js ,ajax 加载 openapi 的 json 或 yaml 生成文档。


    https://github.com/Redocly/redoc
    rookie2luochao
        14
    rookie2luochao  
    OP
       2024-03-14 10:32:16 +08:00
    @bv 谢谢建议哈,最开始想的是做很多功能,想用 docker 方便部署。后面成熟稳定后,就取投票好的内容弄成 html+hash 接入。UI 确实也只考虑比 swagger 好看,审美也不是很到位,毕竟自己设计。
    rookie2luochao
        15
    rookie2luochao  
    OP
       2024-03-14 10:33:26 +08:00
    @LHRUN 确实很少做 C 端,中台做的多
    rookie2luochao
        16
    rookie2luochao  
    OP
       2024-03-14 10:34:39 +08:00
    @coolcoffee 这个本来后面做工具层就是要做成这样的,路由也要做成 hash ,关键是有没有后来
    rookie2luochao
        17
    rookie2luochao  
    OP
       2024-03-14 10:36:55 +08:00
    @luojianxhlxt 我也用了 apifox ,感觉改了接口文档需要重新加载挺麻烦的,因为最开始想着后面也是对标 swagger 这种开 html 页面
    coolcoffee
        18
    coolcoffee  
       2024-03-14 10:51:21 +08:00
    @rookie2luochao 我觉得路由不是啥问题,可以选择兼容两种,hash 或者 query 。

    主要还是颜值是第一生产力,好看的 UI 感觉电脑都变轻快了😂
    james2013
        19
    james2013  
       2024-03-14 10:54:17 +08:00 via Android
    你这个没有亮点,我都不想用:
    1.界面布局,内容显示比有个基于 swagger 的差不少
    2.功能一般
    3.使用复杂,为什么你这个还要专门的前端,基于 swagger 的随着后端程序一起发布了
    vivipure
        20
    vivipure  
       2024-03-14 10:59:24 +08:00
    UI 不太好看,感觉太老了。可以参考 shadcn/ui 的风格,好看才吸引人
    rookie2luochao
        21
    rookie2luochao  
    OP
       2024-03-14 11:08:54 +08:00
    @james2013 谢谢建议,做好了是要做个包让后端程序加个路由一起发布的,但是现在就想让别人用你的包替换 swaggerUI 谈何容易,主要是想着先建个工具页把功能做好(有人用,挨骂,吸取建议),再支持框架层接入
    Rache1
        22
    Rache1  
       2024-03-14 11:15:45 +08:00
    @rookie2luochao #11 倒是没用过,只是很早之前看到过,觉得不错。

    不过就 API 文档而言的话,量大的话,我还是比较能接受 SAAS 的,自己搭建的靠谱程度太低。

    如果只是给开发人员用,Jetbrains 家的 HTTP Client 也够用,甚至少量 API 的话,都是直接写个 markdown 放到 Git 仓库就好了。

    ---

    以前用主要用 POSTMAN ,但是前不久的一次更新,POSTMAN 变成了强制登录,就不用了。
    xianyv
        23
    xianyv  
       2024-03-14 11:19:44 +08:00
    @rookie2luochao #11 我觉得挺好用的,UI 也还算不错
    rookie2luochao
        24
    rookie2luochao  
    OP
       2024-03-14 11:23:24 +08:00
    @huangliu 说明大佬你做的东西还是很新颖吧
    zhw2590582
        25
    zhw2590582  
       2024-03-14 11:25:48 +08:00   ❤️ 2
    @rookie2luochao #9 你自己都说"自己用一下","玩一玩", "不会投入过多精力",这种维护的心态怎么会得到很多 star 啊?
    rookie2luochao
        26
    rookie2luochao  
    OP
       2024-03-14 11:29:56 +08:00
    @zhw2590582 你说的确实是事实,其实获得 star 并不是我的目的,我其实想有人用,然后一起把它做好,后面做个包让框架接入,但是个人眼光和精力有限,需要找人一起维护建设
    rookie2luochao
        27
    rookie2luochao  
    OP
       2024-03-14 11:31:22 +08:00
    @xianyv 可能你和我一样属于接触中台项目,觉得 UI 就还凑合了,谢谢同学的鼓励
    rookie2luochao
        28
    rookie2luochao  
    OP
       2024-03-14 11:32:42 +08:00
    @Rache1 也是第一次做这种页面工具,确实有很多经验需要学习, postman 我每次翻墙了打开都特别慢
    NerbraskaGuy
        29
    NerbraskaGuy  
       2024-03-14 13:51:27 +08:00
    网页端项目如果没有专门的设计师,可以用 antd 之类这些现成的 UI 框架,上手也没啥门槛
    rookie2luochao
        30
    rookie2luochao  
    OP
       2024-03-14 14:09:35 +08:00
    @NerbraskaGuy 就是用的 antd 开发的,😭
    NerbraskaGuy
        31
    NerbraskaGuy  
       2024-03-14 14:14:28 +08:00
    @rookie2luochao #30 额 好吧 没仔细研究 那要不请个外包设计师吧😂
    rxmt
        32
    rxmt  
       2024-03-14 14:37:56 +08:00
    作为白嫖怪,这个还挺好的,postman insomnia 都要求登录,隔壁的 reqable 如果只是用 api 管理只能创建 2 个集合,多了要充钱。
    ---

    有个小需求,baseUrl 可不可以支持更改,比如我在 docker 配一个 env ,OPEN_API_BASE_URL /api_tool 。因为我们有的服务器 terminal 用堡垒机连,对外接口只给开个 80 。然后路由到这个服务上的时候,然后一些资源变成 http://host/assets/... 就访问不到了。非运维,不太了解是不是我不会配,还是这种情况不好处理。
    rxmt
        33
    rxmt  
       2024-03-14 14:38:49 +08:00
    已 star ,加油!
    YVAN7123
        34
    YVAN7123  
       2024-03-14 15:03:44 +08:00
    阮一峰老师的 weekly 我只看新闻。。。
    rookie2luochao
        35
    rookie2luochao  
    OP
       2024-03-14 15:05:30 +08:00
    @rxmt 请问这个 baseURL 可不可以改要怎么理解呢,现在是这样的逻辑:假如你的 openapi 文档地址是 www.api.com/myapi.json ,那么 baseURL 默认就是 www.api.com ,你的所有请求会用 https://www.api.com/get/user ,b 按这个道理 baseURL 是可以改的,当然我也可以加一个配置让你自己强行指定 baseURL
    rxmt
        36
    rxmt  
       2024-03-14 15:13:45 +08:00
    @rookie2luochao 奥奥,不是使用逻辑,是这个工具本身部署。就是我的 nginx port 80 ,docker 8081:80
    location /api_tool { proxy_pass http://127.0.0.1:8081/ },这个时候,http://host/api_tool 的时候,一些资源文件(例如:/assets/*)会从 http://host/assets/*里面找,这个其实就找不到了。那我得再配置/assets 到 127.0.0.1:8081/上,但我不想影响 rootPath 上的目录。

    那我如果 location /api_tool { proxy_pass http://127.0.0.1:8081 },同时前端页面的那个 base path 变成了/api_tool ,就没有访问问题了吧?
    archxm
        37
    archxm  
       2024-03-14 15:25:51 +08:00
    阮老师的私货太多了,开头都是几条政治正确的新闻内容
    rookie2luochao
        38
    rookie2luochao  
    OP
       2024-03-14 15:29:36 +08:00
    @rxmt 你可以尝试一下,我一般反向代理也是这样玩的,location /api_tool { proxy_pass http://127.0.0.1:8081/ },docker -e 是支持环境变量注入的,你可能需要 fork 一下我这个库的代码改一下,如果这个功能确实很重要,你可以私底下加我一起交流,看怎么能帮到你
    Braisdom
        39
    Braisdom  
       2024-03-14 15:34:01 +08:00
    我的项目之前也想上阮老师的周刊,看样算了,还不发 V 站来的流量多呢: https://www.agiquery.com

    哈哈,现在都不太敢推了,有人看了反感,等新版本发布的时候,再推吧。
    jqtmviyu
        40
    jqtmviyu  
       2024-03-14 15:47:29 +08:00
    swagger + postman 又不是不能用. 没有颠覆性的功能, 又没大的提升, 确实没有尝试的动力 .
    YIERIC
        41
    YIERIC  
       2024-03-14 15:57:40 +08:00
    你以为这是抖音刷粉丝呢
    rxmt
        42
    rxmt  
       2024-03-14 16:15:22 +08:00
    @rookie2luochao 好嘞,不是很重要的小需求,我有空自己改下,看了一下是改 VITE_baseURL 这个。
    我知道 docker 咋配 env =。=
    rookie2luochao
        43
    rookie2luochao  
    OP
       2024-03-14 16:54:10 +08:00
    @Braisdom 方案的人肯定会很多,不管它,就和面试一样,你不造重复的轮子(很多人造不出新轮子的),人家八股文造火箭你也过不了啊
    rookie2luochao
        44
    rookie2luochao  
    OP
       2024-03-14 16:55:42 +08:00
    @jqtmviyu 普通人在技术这条路上想留下点什么,不造点重复的轮子,也没实力造好用的新轮子😭😭😭
    Braisdom
        45
    Braisdom  
       2024-03-14 18:01:26 +08:00
    @rookie2luochao 如果纯粹的重复造轮子也是没意义的,我的项目本身是参考国外的商业产品,他们没有开源,只不过这块有点超前,不被人认可也是合理的,后面慢慢会好的。
    1018ji
        46
    1018ji  
       2024-03-14 18:34:48 +08:00
    感觉不好看,字也小

    没有使用的动力
    hanxiV2EX
        47
    hanxiV2EX  
       2024-03-14 22:19:01 +08:00 via Android
    我的 xiaomusic 上他的 weekly 的那天涨了一百多个星
    dianso
        48
    dianso  
       2024-03-14 23:17:03 +08:00
    star
    siweipancc
        49
    siweipancc  
       2024-03-15 02:07:22 +08:00 via iPhone
    太重了……而且项目联动不行,不如上 easyapi
    huangliu
        50
    huangliu  
       2024-03-15 08:56:26 +08:00
    我看了下他 weekly ,你项目的推荐不是今天才发吗...
    lyang
        51
    lyang  
       2024-03-15 08:58:15 +08:00
    @huangliu 我之前还以为漏看了,今天看到也跑回来找这个帖子
    encro
        52
    encro  
       2024-03-15 09:34:01 +08:00
    你的对手太强大,apifox 现在挺好用。
    rookie2luochao
        53
    rookie2luochao  
    OP
       2024-03-15 09:35:18 +08:00
    @huangliu 大佬,这个 weekly 不就是老师的 issue 里面加了个标签吗?我不是很懂,我看几天前就加了,以为就是推荐了
    rookie2luochao
        54
    rookie2luochao  
    OP
       2024-03-15 09:36:38 +08:00
    @siweipancc 项目联动必须上包,不过我准备先安排个 go 的包,本来这个网站只是想展示功能,功能稳定了在抽象成包的
    rookie2luochao
        55
    rookie2luochao  
    OP
       2024-03-15 09:38:26 +08:00
    @encro 和 apifox 的定位不一样,它确实强大,我开始是打算等功能稳定了,就写成包进行集成的,替换 swagger-ui ,就是先写一下,看有没有这个呼声需要这样去弄,这样和项目的联动性就好了
    rookie2luochao
        56
    rookie2luochao  
    OP
       2024-03-15 09:40:02 +08:00
    @1018ji 我再花时间在调整下字体和 UI 试试
    rookie2luochao
        57
    rookie2luochao  
    OP
       2024-03-15 09:41:07 +08:00
    @lyang 抱歉,我不是太懂呢,我以为就是 issue 加精的意思,还有其他地方有专门的推荐页吗?
    rookie2luochao
        58
    rookie2luochao  
    OP
       2024-03-15 09:41:31 +08:00
    @YIERIC 不是抖音刷粉丝哈
    rookie2luochao
        59
    rookie2luochao  
    OP
       2024-03-15 09:41:55 +08:00
    @dianso 谢谢同学的支持,感谢
    huangliu
        60
    huangliu  
       2024-03-15 09:42:06 +08:00
    @rookie2luochao 加 weekly 标签说明被他选中了,那也得等排期才能上周刊嘛...周五才发周刊,他还会去推上再把推荐单独发一个。
    rookie2luochao
        61
    rookie2luochao  
    OP
       2024-03-15 09:42:35 +08:00
    @hanxiV2EX 阮老师的力量看来还是很强,就看自己抓的住流量不
    rookie2luochao
        62
    rookie2luochao  
    OP
       2024-03-15 10:05:53 +08:00
    @huangliu 抱歉哈,突然发现有点社死,规则都没搞明白😭
    lidawn
        63
    lidawn  
       2024-03-15 10:29:38 +08:00
    好家伙,一件价保,回本 23 块
    lidawn
        64
    lidawn  
       2024-03-15 10:31:13 +08:00
    @lidawn 回错帖子了
    lvjiaxuan818
        65
    lvjiaxuan818  
       364 天前
    我擦,我投过一次,只涨了 10 几个 star ,
    lyang
        66
    lyang  
       364 天前
    @rookie2luochao 有博客和公众号的,直接搜就能搜到
    flyingcrp
        67
    flyingcrp  
       364 天前
    额...基于 swagger 的模式横行了几十年.现在有另一种,你要不要尝试
    文档与代码分离;我试验了几个项目,目前来说最顺手的就是 apifox 了.
    强制结构校验,并发测试. 集成测试. 设计+协同.
    虽然它协议有那么一点点搞,.
    rookie2luochao
        68
    rookie2luochao  
    OP
       362 天前
    @flyingcrp 没有太理解大佬你说的这个文档与代码分离,求指引
    rookie2luochao
        69
    rookie2luochao  
    OP
       362 天前
    @lyang 我以前没有认真看周刊,现在知道怎么看了,谢谢哈
    rookie2luochao
        70
    rookie2luochao  
    OP
       362 天前
    @lyang 哈哈哈,可能我们写的东西不太好,尴尬
    flyingcrp
        71
    flyingcrp  
       348 天前
    @rookie2luochao 抛弃在代码中通过注释的方式编写 api 文档(当然这并没有错). 而尝试设计+自动测试为开始,先设计和定义好 api,然后针对设计的 api 进行测试编写(旧的方式是写测试用例),只是这个测试是由工具点点点就完成了.
    Q1: 如何保证代码与 api 的维护呢? 凡是改动代码必须跑已有的用例
    Q2: 如何通知调用方结构有更新呢(人工通知)? 利用工具的 webhook 同步到 im 或任何你们协作的工具
    Q3: 更新后的 API 对方怎么看到最新的呢(旧的方式是发布新的文档)? 相同工具下改动都会被同步.所以对方看到的永远是最新的.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2634 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:38 · PVG 12:38 · LAX 21:38 · JFK 00:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.