Bug Summary
ObjectUI Console (MSW 模式) 使用自定义 createHandlers 手写 HTTP handler,绕过了 ObjectStack 协议栈。结果导致 filter/sort/top 等所有查询参数失效,server 模式下正常。
复现方式
- 启动 dev server (
pnpm dev)。
- 访问
/api/v1/data/contact?top=100&sort=name&filter=["priority","=","medium"]。
- 发现过滤条件没有���效,返回所有数据。
- server 模式 (
pnpm dev:server) 下过滤正常。
问题分析
apps/console/src/mocks/handlers.ts 的 Data handler 自己解析 query 参数并直接调用 driver.find(),不走 ObjectStack 协议 protocol。
- filter/sort/top 等参数解析失效,实际行为和 dev server 不一致。
- examples/msw-todo/QUICKSTART.md 推荐的写法是直接使用
@objectstack/plugin-msw,完全无需手写 handler。
最佳解决方案
- 删除 createHandlers + hand-written handlers,直接在 Console 的 MSW 模式下 use(new MSWPlugin({ baseUrl: '/api/v1' }))。
- 这样所有 HTTP 路由都和 server 模式一致,filter/sort/top/pagination/metadata 自动正确处理。
- 维护性最好,所有协议更新自动同步。
建议修复步骤
- 移除 apps/console/src/mocks/handlers.ts (或者大幅简化,转为 use MSWPlugin)。
- 在 console mock 启动逻辑里直接 use(new MSWPlugin({ baseUrl: '/api/v1' }))。
- 对齐 QuickStart / msw-todo 示例。
- 补充测试:filter/sort/top/pagination 必须能通过。
开发任务完成之后都应该运行test,并且相关的问题,然后更新roadmap。
相关 issue: #858
Bug Summary
ObjectUI Console (MSW 模式) 使用自定义 createHandlers 手写 HTTP handler,绕过了 ObjectStack 协议栈。结果导致 filter/sort/top 等所有查询参数失效,server 模式下正常。
复现方式
pnpm dev)。/api/v1/data/contact?top=100&sort=name&filter=["priority","=","medium"]。pnpm dev:server) 下过滤正常。问题分析
apps/console/src/mocks/handlers.ts的 Data handler 自己解析 query 参数并直接调用driver.find(),不走 ObjectStack 协议 protocol。@objectstack/plugin-msw,完全无需手写 handler。最佳解决方案
建议修复步骤
开发任务完成之后都应该运行test,并且相关的问题,然后更新roadmap。
相关 issue: #858