UnoAPI 正式开源!它可能会让你少写几千行代码
UnoAPI 是一个基于 OpenAPI (Swagger) 规范的现代化前端代码生成工具集。它旨在通过自动化流程,消除繁琐的手动 API 定义工作,提供类型安全、高度可定制的开发体验。

Github 仓库
本次更新,主要包括:
支持多种配置方式
支持 ignores 过滤
支持 model 泛型参数
支持自动导入 model 头文件
提供 vscode 插件
集成 Github Actions 自动编译发布
快速体验
👉 先看效果

执行结果

API 函数代码
从 ApiFox 上导了一份钉钉公开接口,一次性生成了 800 多个接口函数,近 2000 个模型文件。
快速体验,只需要执行命令:
npx @unoapi/cli --all -u https://unoapi.codingmo.com/api/dd-openapi-v31.json
直接复制这条指令 👆,就可以快速体验。
总共耗时大概 10 多秒,取决于你电脑的网络和性能。
一次性生成全部接口,使用场景可能不多,实际上 UnoAPI 使用非常灵活:
只生成指定 URL 的接口
缓存文档到本地,后面使用不依赖网络
只生成 model 文件
自定义 api 函数代码的模板
指定输出目录
更多功能介绍可以看 Github 上的文档介绍。
现在 vscode 扩展还处于本地测试阶段,还没想好更好的交互方式,后续更新暂时也会以 CLI 工具为主。
一些想说的
做这个项目之前,本来以为挺简单的一件事情,但是做到现在,发现事情远没有自己想的那么简单。
这次更新和开源也是借助了 AI 工具,主要用来做一些辅助的事情,比如:
写文档
写测试用例
写主页站点
写集成脚本
优化代码
就目前来说,UnoAPI 还处于初级阶段,有太多太多的细节需要完善。
目前,有近一半的代码都是在处理各种千奇百怪的兼容性问题,这个文档跑通了,另一个文档又出错了。
😭 现实中基本上没有完美的、严格遵守标准的文档,各种写法只有你想不到、没有它做不到。
URL 路径不规范
非法字符:中文、空格、各种符号
各种信息乱填
...
判断越来越多,代码也是越写越乱。
然后不得不使用 AI 写了一些测试用例,还好之前的设计都是基于函数式开发的,所以写测试用例相对还是比较简单。
现在,我才真正体会到了写测试用例的重要性 —— 它能极大减轻你写代码的负担!
写在最后
最后,放上 Github 的地址:https://github.com/moohng/unoapi
官网:https://unoapi.codingmo.com/
转自:https://mp.weixin.qq.com/s/pHDUwj9-TTwegTHme4poeA
共有 0 条评论