问题描述
在部署 ObjectStack Studio 到 Vercel 后,前端在 Server模式下请求 /api/v1/meta 和 /api/v1/packages 都返回 404,导致元数据及包列表无法正常加载。
复现步骤
- Vercel正确设置:
VITE_RUNTIME_MODE=server 且 VITE_SERVER_URL=""(empty,same-origin)
- 前端浏览器启动后尝试请求:
GET /api/v1/meta → 404
GET /api/v1/packages → 404
核心分析
/api/v1/meta 路由虽然在 @objectstack/hono 适配器注册,但返回404,说明对应 dispatcher/broker 没有正确桥接 metadata服务。
/api/v1/packages 路由根本没有注册;createHonoApp() 只覆盖了 discovery, auth, graphql, meta, data, storage 等路由,缺少 packages。
影响
- 前端无法加载元数据、包列表,核心功能不可用。
- 404报错会阻断页面正常渲染,造成用户困扰。
推荐修复方案
- 补齐
createHonoApp() 适配器所有标准路由(见 HonoServerPlugin discovery routes),尤其是 packages 等缺失命名空间。
- 检查并修正
HttpDispatcher.handleMetadata() 及 broker shim 的桥接,确保元数据能正确返回。
- 补充测试,确保 serverless 部署下路由齐全、元数据和包列表可用。
- 已分析全部问题及相关代码,建议架构级修复,不建议简单patch。
问题描述
在部署 ObjectStack Studio 到 Vercel 后,前端在 Server模式下请求
/api/v1/meta和/api/v1/packages都返回 404,导致元数据及包列表无法正常加载。复现步骤
VITE_RUNTIME_MODE=server且VITE_SERVER_URL=""(empty,same-origin)GET /api/v1/meta→ 404GET /api/v1/packages→ 404核心分析
/api/v1/meta路由虽然在@objectstack/hono适配器注册,但返回404,说明对应 dispatcher/broker 没有正确桥接 metadata服务。/api/v1/packages路由根本没有注册;createHonoApp()只覆盖了 discovery, auth, graphql, meta, data, storage 等路由,缺少 packages。影响
推荐修复方案
createHonoApp()适配器所有标准路由(见 HonoServerPlugin discovery routes),尤其是 packages 等缺失命名空间。HttpDispatcher.handleMetadata()及 broker shim 的桥接,确保元数据能正确返回。