Skip to content

集成决策 ​

选择符合现有服务的最简单一层。当更高一层能消除已经存在的重复工作时再采用,并将配置成本和后端契约纳入决策。

直接、声明式还是生成式客户端 ​

选择适用情况你负责什么不适用情况
直接 Fetcher少量调用或端点特有行为路径、请求选项、结果选择、边界验证大量重复端点声明容易各自漂移
装饰器服务稳定方法适合集中声明服务metadata/编译器配置、参数注解、端点准确性不希望引入装饰器配置,或 API 主要是临时调用
生成式服务实际维护的契约是 OpenAPI 文档生成命令/配置、审查和编译产物、规范变化后重新生成规范缺失或不准确;文档没有表达服务语义

它们共享运行请求边界:核心实现请求/提取(packages/fetcher/src/fetcher.ts:242),装饰器有 metadata 运行依赖(packages/decorator/package.json:58),5.x 的生成器是 CLI(packages/generator/src/cli.ts:8)。OpenAPI 导出类型定义(packages/openapi/src/index.ts:21)。注解和生成类型都不会在运行时验证响应,也不会补全缺失的服务端语义。

从 HTTP 请求开始,再使用声明式客户端或生成式客户端中的已验证工作流。配置细节见装饰器参考和生成器参考。生成器属于 5.x 线;从 6.0 起它位于 Wow 仓库。peer 图应与预期执行代码分别检查。

数据视图 ​

Fetcher main 不提供表格或数据视图组件。@ahoo-wang/fetcher-viewer(View、Viewer、FetcherViewer)已在 npm 弃用,并冻结在 5.x 线(npm 5.1.x,分支 5.x);它的指南与参考为存量用户保留。接替它的是 Wow 仓库中的 @ahoo-wang/wow-view-engine,自 Wow 9.2.0 起已发布到 npm(9.2.1 及以上兼容 fetcher 6;见 wow.ahoo.me)。现在新建表格时,把 React 请求状态与应用已在使用的表格组件组合起来,筛选、排序和分页留在数据服务中完成。

服务专用集成 ​

集成所需契约服务/应用保留的责任
Wow(5.x 客户端)命令结果/阶段及支持的查询 DSL授权、租户隔离、幂等、投影新鲜度
CoSectoken 存储、归属头、刷新端点/会话规则身份生命周期、重放安全、服务端授权、哪些源接收凭据(isTrusted)
SSE / OpenAI 流兼容事件流和载荷格式部分结果 UX、取消及必要时的重连策略

客户端条件描述发送的查询,不是访问控制。命令阶段描述协议进度,不是通用一致性保证。CoSec 带保护的刷新实现专用于其认证 exchange(packages/cosec/src/authorizationResponseInterceptor.ts:80),SSE 提取则要求可读响应体(packages/eventstream/src/eventStreamResultExtractor.ts:41)。

继续阅读 CoSec及流处理。Wow 客户端属于 5.x 线(Wow 指南);从 6.0 起文档位于 wow.ahoo.me。跨身份共享这些集成前阅读运行环境;增加重试前阅读失败模型。

基于 Apache License 2.0 发布。