Skip to content

Studio 全局 REST API 控制台:自动发现和测试所有 API #891

Description

@hotlong

背景

当前 Studio 的 ObjectApiConsole 只针对单一 Object 提供 CRUD 测试,无法方便浏览和测试所有 REST API(包括自定义、批量、元数据等)。随着服务逐渐丰富,API数目变多,开发/测试/集成场景需要一站式、高效的"API 控制台"。

目标

实现一个"全局 REST API 控制台",在 Studio 顶级面板提供:

  • 自动发现所有已注册的 REST API(Discovery + Meta + Registry)
  • 支持分组浏览(如 Data、Metadata、Batch、Auth…),端点树可折叠/搜索/过滤
  • 一键填充 method/path/BodyTemplate,快捷编辑并发起请求
  • 响应高亮展示(状态/时间/Body)与完整请求历史,支持重放
  • 动态 Object 新增/删除后端点自动刷新,不需手写
  • 支持 Query Params/Table(OData/数据分页等)表单化填写
  • 自动继承平台认证,保障安全

推荐实现路径

  1. 新增 ApiConsolePage,作为 Studio 顶级入口,支持独立路由
  2. 新增 ApiConsole/ 组件(EndpointTree + RequestPanel + ResponsePanel + useApiDiscovery),实现左侧分组树+中间请求+右侧响应
  3. 端点来源:基础 Discovery /api/v1/discovery + Metadata /api/v1/meta/object,可结合 Registry API/Meta数据完善
  4. 复用旧 ObjectApiConsole 的 send/history 逻辑,扩展为全局多 API
  5. UX:分组/折叠/搜索/快速切换,表单式填写参数与 Body(JSON Schema 自动生成可升级为 phase2)
  6. 支持多环境/变量(预留后续能力),初期以 studio session auth/context 为主

补充

  • 中长期目标可参考 Postman、Hoppscotch、Swagger UI,但重点保持 ObjectStack Studio 风格一体化
  • 若未来支持 OpenAPI/自定义文档,可接口 Registry/Meta 自动生成(phase2)

Done Criteria

  • Studio 顶级 API 控制台可自动发现所有 REST API,分组浏览,搜索测试
  • 用户无需手写端点,任意 Object 增删自动刷新、端点自动出现
  • 支持请求/响应查看、历史记录、基本参数/Body表单化填写

完成后请:

  • 更新 ROADMAP.md 标记相关 deliverable
  • 增强自动测试覆盖
  • 关联所有相关 API/Studio/Registry/Meta issues

如需后续支持 GraphQL/WebSocket/Batch/SwaggerUI集成/收藏夹,请在此 issue 下讨论扩展方案。

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions