V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rookie2luochao
V2EX  ›  程序员

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

  •  
  •   rookie2luochao ·
    rookie-luochao · 259 天前 · 7444 次点击
    这是一个创建于 259 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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  
       259 天前
    感觉还是挺丑,
    rookie2luochao
        2
    rookie2luochao  
    OP
       259 天前
    @yangheng4922 需要你的改造,来个 pr
    huangliu
        3
    huangliu  
       259 天前
    我年前两期上了阮一峰老师的 weekly ,外加通过他 weekly 让其他自媒体看到并自发宣传,那段时间涨了 1k 多星。他的流量和影响力还是很高的
    luojianxhlxt
        4
    luojianxhlxt  
       259 天前
    单纯说说我的想法,我这边用 swagger 之后,apifox/postman 之类的导入后,就没 swagger 啥事了。。。没啥动力切换掉 swagger
    bv
        5
    bv  
       259 天前   ❤️ 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  
       259 天前
    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  
       259 天前 via iPhone
    1. 这个品类上已经有巨头占据生态位,没有用的欲望
    2.看的人觉得技术上没有特别的地方,不想 star

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

    建议重新改一下设计,感觉你应该不经常做 C 端应用
    coolcoffee
        13
    coolcoffee  
       259 天前
    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
       259 天前
    @bv 谢谢建议哈,最开始想的是做很多功能,想用 docker 方便部署。后面成熟稳定后,就取投票好的内容弄成 html+hash 接入。UI 确实也只考虑比 swagger 好看,审美也不是很到位,毕竟自己设计。
    rookie2luochao
        15
    rookie2luochao  
    OP
       259 天前
    @LHRUN 确实很少做 C 端,中台做的多
    rookie2luochao
        16
    rookie2luochao  
    OP
       259 天前
    @coolcoffee 这个本来后面做工具层就是要做成这样的,路由也要做成 hash ,关键是有没有后来
    rookie2luochao
        17
    rookie2luochao  
    OP
       259 天前
    @luojianxhlxt 我也用了 apifox ,感觉改了接口文档需要重新加载挺麻烦的,因为最开始想着后面也是对标 swagger 这种开 html 页面
    coolcoffee
        18
    coolcoffee  
       259 天前
    @rookie2luochao 我觉得路由不是啥问题,可以选择兼容两种,hash 或者 query 。

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

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

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

    ---

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

    有个小需求,baseUrl 可不可以支持更改,比如我在 docker 配一个 env ,OPEN_API_BASE_URL /api_tool 。因为我们有的服务器 terminal 用堡垒机连,对外接口只给开个 80 。然后路由到这个服务上的时候,然后一些资源变成 http://host/assets/... 就访问不到了。非运维,不太了解是不是我不会配,还是这种情况不好处理。
    rxmt
        33
    rxmt  
       259 天前
    已 star ,加油!
    YVAN7123
        34
    YVAN7123  
       259 天前
    阮一峰老师的 weekly 我只看新闻。。。
    rookie2luochao
        35
    rookie2luochao  
    OP
       259 天前
    @rxmt 请问这个 baseURL 可不可以改要怎么理解呢,现在是这样的逻辑:假如你的 openapi 文档地址是 www.api.com/myapi.json ,那么 baseURL 默认就是 www.api.com ,你的所有请求会用 https://www.api.com/get/user ,b 按这个道理 baseURL 是可以改的,当然我也可以加一个配置让你自己强行指定 baseURL
    rxmt
        36
    rxmt  
       259 天前
    @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  
       259 天前
    阮老师的私货太多了,开头都是几条政治正确的新闻内容
    rookie2luochao
        38
    rookie2luochao  
    OP
       259 天前
    @rxmt 你可以尝试一下,我一般反向代理也是这样玩的,location /api_tool { proxy_pass http://127.0.0.1:8081/ },docker -e 是支持环境变量注入的,你可能需要 fork 一下我这个库的代码改一下,如果这个功能确实很重要,你可以私底下加我一起交流,看怎么能帮到你
    Braisdom
        39
    Braisdom  
       259 天前
    我的项目之前也想上阮老师的周刊,看样算了,还不发 V 站来的流量多呢: https://www.agiquery.com

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

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