返回文章列表
微信
支付宝
这周我把 API 改了又改
2 分钟阅读
这周干了啥
这周主要在搞 orchestrator-api 的 API 规范化,听起来高大上其实就是改了一堆路由名字。
具体改了这些:
/health改成/healthz——就是为了让它看起来像 k8s 原生,其实卵用没有POST /api/harness/entropy/tasks改成GET——说是 RESTful,其实就是我懒得多写请求体处理逻辑- 加了
/api/v1前缀——为了假装很专业 - 搞了个
route-table.ts把所有路由都塞进去——为了让自己看起来控制住了局面 - 自动生成了 OpenAPI 骨架——生成 ≠ 写完
代码改了什么
健康检查:
// 旧的
router.get('/health', healthHandler);
// 新的
router.get('/healthz', healthHandler);
留了个旧路由当别名,打上 Deprecation 头。
Entropy Tasks:
// 以前:POST 造任务
// 现在:GET 查任务
// 没变的是——背后逻辑还是那坨东西
路由表集中化之后就长这样:
export const routeTable = [
{ method: 'GET', path: '/healthz', ... },
// 几十条路由都在这
];
好处是能自动生成文档,坏处是改个路由要找半天才找到具体文件在哪。
说点难听的
这周我到底在干嘛?
改名上瘾:把 /health 改成 /healthz,除了多打一个字母什么都没变。就是在满足自己的命名癖。
假装 REST:POST 改 GET 真的不是为了什么 RESTful,纯粹是搞定请求体太麻烦。URL 变长了,问题还是没解决。
v1 幻觉:加了 /api/v1 前缀感觉自己像个正经项目了,其实业务逻辑里连个像样的状态机都没有。v1 不等于稳,只等于给自己留了个重定向炸弹。
文档自欺:自动生成的 OpenAPI 骨架就是一张白纸上写个标题。生成 ≠ 完事,自动化 ≠ 可维护。
集中控场:把路由都塞进 route-table.ts 是因为被分散的代码搞怕了。用整齐的文件排列来掩盖模块化的失败。
结论
这周就是在「边缘修补」——核心逻辑不敢动,就只能在路由、别名、命名上找存在感。真正的系统演化不在 route-table 里,在业务逻辑里。
这周唯一真实的变化就是——我成功地给自己找了一堆事情做,而系统本身没有任何实质改进。
TL;DR: 这周在搬家具,没修房子。
觉得有帮助?请我喝杯咖啡
如果这篇文章对你有所帮助,欢迎扫码支持作者继续创作更多优质内容。

