求几个星星,和改进建议, 项目地址: github.com/rookie-luochao/openapi-ui

OpenAPI-UI 项目简介:

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

UI 展示

感觉还是挺丑,

需要你的改造,来个 pr

我年前两期上了阮一峰老师的 weekly ,外加通过他 weekly 让其他自媒体看到并自发宣传,那段时间涨了 1k 多星。他的流量和影响力还是很高的

单纯说说我的想法,我这边用 swagger 之后,apifox/postman 之类的导入后,就没 swagger 啥事了。。。没啥动力切换掉 swagger

当时还试用了一下,看到 UI 直接没有继续使用的欲望了,OP 在做这个选题的时候可能都没有简单的市场调研和竟品分析。1. UI 确实不咋好看。2. 部署需要轻便,简单的 html 引入 js css 就可以部署运行,弄个 docker 有点重了。3. 参考下列竟品,做好交互。 petstore.swagger.io/ elements-demo.stoplight.io/ scalar.com/ redocly.github.io/redoc/

swagger 的之前看到过这个,感觉还不错GitHub - xiaoymin/knife4j: Knife4j is a set of Swagger2 and OpenAPI3 All-in-one enhancement solution github.com/xiaoymin/knife4j

  1. 这个品类上已经有巨头占据生态位,没有用的欲望2.看的人觉得技术上没有特别的地方,不想 star磨练下自己技术挺好的,不建议投入太多精力

接口文档工具太多了,不建议再重复造轮子了。

主要是自己用一下,玩一玩,谢谢,不会投入过多精力

好的,最开始只是公司内部需要一个文档管理平台,后面自己砍掉了很多可视化功能并开源了文档部分

这个是 java 的一个集成工具,听说也不是很好用,国产挺难的,可能都是玩一下为主吧

可能有的看一下使用意愿不强就不想点进 github 了,阮一峰老师的 weekly 还是很顶的,之前我上过,涨了几百 star建议重新改一下设计,感觉你应该不经常做 C 端应用

Op 可以参考竞品 redoc 。引入一个 js cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js ,ajax 加载 openapi 的 json 或 yaml 生成文档。 github.com/Redocly/redoc

谢谢建议哈,最开始想的是做很多功能,想用 docker 方便部署。后面成熟稳定后,就取投票好的内容弄成 html+hash 接入。UI 确实也只考虑比 swagger 好看,审美也不是很到位,毕竟自己设计。

确实很少做 C 端,中台做的多

这个本来后面做工具层就是要做成这样的,路由也要做成 hash ,关键是有没有后来

我也用了 apifox ,感觉改了接口文档需要重新加载挺麻烦的,因为最开始想着后面也是对标 swagger 这种开 html 页面

我觉得路由不是啥问题,可以选择兼容两种,hash 或者 query 。主要还是颜值是第一生产力,好看的 UI 感觉电脑都变轻快了😂

你这个没有亮点,我都不想用:1.界面布局,内容显示比有个基于 swagger 的差不少2.功能一般3.使用复杂,为什么你这个还要专门的前端,基于 swagger 的随着后端程序一起发布了

UI 不太好看,感觉太老了。可以参考 shadcn/ui 的风格,好看才吸引人

谢谢建议,做好了是要做个包让后端程序加个路由一起发布的,但是现在就想让别人用你的包替换 swaggerUI 谈何容易,主要是想着先建个工具页把功能做好(有人用,挨骂,吸取建议),再支持框架层接入

#11 倒是没用过,只是很早之前看到过,觉得不错。不过就 API 文档而言的话,量大的话,我还是比较能接受 SAAS 的,自己搭建的靠谱程度太低。如果只是给开发人员用,Jetbrains 家的 HTTP Client 也够用,甚至少量 API 的话,都是直接写个 markdown 放到 Git 仓库就好了。---以前用主要用 POSTMAN ,但是前不久的一次更新,POSTMAN 变成了强制登录,就不用了。

#11 我觉得挺好用的,UI 也还算不错

说明大佬你做的东西还是很新颖吧

#9 你自己都说"自己用一下","玩一玩", "不会投入过多精力",这种维护的心态怎么会得到很多 star 啊?

你说的确实是事实,其实获得 star 并不是我的目的,我其实想有人用,然后一起把它做好,后面做个包让框架接入,但是个人眼光和精力有限,需要找人一起维护建设

可能你和我一样属于接触中台项目,觉得 UI 就还凑合了,谢谢同学的鼓励

也是第一次做这种页面工具,确实有很多经验需要学习, postman 我每次翻墙了打开都特别慢

网页端项目如果没有专门的设计师,可以用 antd 之类这些现成的 UI 框架,上手也没啥门槛

就是用的 antd 开发的,😭

#30 额 好吧 没仔细研究 那要不请个外包设计师吧😂

作为白嫖怪,这个还挺好的,postman insomnia 都要求登录,隔壁的 reqable 如果只是用 api 管理只能创建 2 个集合,多了要充钱。---有个小需求,baseUrl 可不可以支持更改,比如我在 docker 配一个 env ,OPEN_API_BASE_URL /api_tool 。因为我们有的服务器 terminal 用堡垒机连,对外接口只给开个 80 。然后路由到这个服务上的时候,然后一些资源变成 host/assets/... 就访问不到了。非运维,不太了解是不是我不会配,还是这种情况不好处理。

已 star ,加油!

阮一峰老师的 weekly 我只看新闻。。。

请问这个 baseURL 可不可以改要怎么理解呢,现在是这样的逻辑:假如你的 openapi 文档地址是 www.api.com/myapi.json ,那么 baseURL 默认就是 www.api.com ,你的所有请求会用 www.api.com/get/user ,b 按这个道理 baseURL 是可以改的,当然我也可以加一个配置让你自己强行指定 baseURL

奥奥,不是使用逻辑,是这个工具本身部署。就是我的 nginx port 80 ,docker 8081:80location /api_tool { proxy_pass 127.0.0.1:8081/ },这个时候, host/api_tool 的时候,一些资源文件(例如:/assets/)会从 host/assets/里面找,这个其实就找不到了。那我得再配置/assets 到 127.0.0.1:8081/上,但我不想影响 rootPath 上的目录。那我如果 location /api_tool { proxy_pass 127.0.0.1:8081 },同时前端页面的那个 base path 变成了/api_tool ,就没有访问问题了吧?

阮老师的私货太多了,开头都是几条政治正确的新闻内容

你可以尝试一下,我一般反向代理也是这样玩的,location /api_tool { proxy_pass 127.0.0.1:8081/ },docker -e 是支持环境变量注入的,你可能需要 fork 一下我这个库的代码改一下,如果这个功能确实很重要,你可以私底下加我一起交流,看怎么能帮到你

我的项目之前也想上阮老师的周刊,看样算了,还不发 V 站来的流量多呢: www.agiquery.com哈哈,现在都不太敢推了,有人看了反感,等新版本发布的时候,再推吧。

swagger + postman 又不是不能用. 没有颠覆性的功能, 又没大的提升, 确实没有尝试的动力 .

你以为这是抖音刷粉丝呢

好嘞,不是很重要的小需求,我有空自己改下,看了一下是改 VITE_baseURL 这个。我知道 docker 咋配 env =。=

方案的人肯定会很多,不管它,就和面试一样,你不造重复的轮子(很多人造不出新轮子的),人家八股文造火箭你也过不了啊

普通人在技术这条路上想留下点什么,不造点重复的轮子,也没实力造好用的新轮子😭😭😭

如果纯粹的重复造轮子也是没意义的,我的项目本身是参考国外的商业产品,他们没有开源,只不过这块有点超前,不被人认可也是合理的,后面慢慢会好的。

感觉不好看,字也小没有使用的动力

我的 xiaomusic 上他的 weekly 的那天涨了一百多个星

star

太重了……而且项目联动不行,不如上 easyapi

我看了下他 weekly ,你项目的推荐不是今天才发吗...

我之前还以为漏看了,今天看到也跑回来找这个帖子

你的对手太强大,apifox 现在挺好用。

大佬,这个 weekly 不就是老师的 issue 里面加了个标签吗?我不是很懂,我看几天前就加了,以为就是推荐了

项目联动必须上包,不过我准备先安排个 go 的包,本来这个网站只是想展示功能,功能稳定了在抽象成包的

和 apifox 的定位不一样,它确实强大,我开始是打算等功能稳定了,就写成包进行集成的,替换 swagger-ui ,就是先写一下,看有没有这个呼声需要这样去弄,这样和项目的联动性就好了

我再花时间在调整下字体和 UI 试试

抱歉,我不是太懂呢,我以为就是 issue 加精的意思,还有其他地方有专门的推荐页吗?

不是抖音刷粉丝哈

谢谢同学的支持,感谢

加 weekly 标签说明被他选中了,那也得等排期才能上周刊嘛...周五才发周刊,他还会去推上再把推荐单独发一个。

阮老师的力量看来还是很强,就看自己抓的住流量不

抱歉哈,突然发现有点社死,规则都没搞明白😭

好家伙,一件价保,回本 23 块

回错帖子了

我擦,我投过一次,只涨了 10 几个 star ,

有博客和公众号的,直接搜就能搜到

额...基于 swagger 的模式横行了几十年.现在有另一种,你要不要尝试文档与代码分离;我试验了几个项目,目前来说最顺手的就是 apifox 了. 强制结构校验,并发测试. 集成测试. 设计+协同.虽然它协议有那么一点点搞,.