用途:本技能是 @data-client/rest 的使用指南,用于在 React/TypeScript 应用中定义、获取、规范化与更新 RESTful 资源与实体,并借助 schema 获得类型安全与自动缓存管理。生成与远程 API 交互的代码时应遵循其模式。
主要能力:resource() 可为一类对象生成一组 CRUD 端点,必填 path(带类型的 path-to-regexp 模板)与 schema(通常为 Entity 或 Union),可选 urlPrefix、searchParams、paginationField、optimistic、body。RestEndpoint 用于定义单个端点,可设 path、schema、pollFrequency,并通过 getOptimisticResponse 等实现乐观响应。数据规范化依赖 Entity 与 schema 定义;缓存与过期、错误重试、认证头、分页、乐观更新、网络响应转换等属资料提到的参考资料主题。端点的生命周期为 fetchResponse() → parseResponse() → process(),URL 由 urlPrefix + path 及 query 参数拼装。资源可用 .extend() 增加或覆盖端点。
使用方式:先按 rdc-schema 技能定义 Entity 与 schema,再用 resource() 声明资源;读取用 useSuspense(Resource.get / getList),变更用 useController().fetch(Resource.update / partialUpdate / delete / getList.push / unshift / getList.getPage) 等。仅定义单个端点或没有变更端点时应优先用 RestEndpoint 而非 resource();仅为类型推断而提供 searchParams/body 值。渲染与变更细节可参考 rdc-react 或 rdc-vue。
适用场景:需要类型安全地调用 REST API、做 CRUD、分页、乐观更新、轮询以及自动规范化缓存的前端项目。
限制:资料未提供安装命令、npm 包版本、平台兼容性、收费或许可信息;具体 API 细节建议查阅其 references 目录或官方文档。生成代码时应避免在不需要变更端点时使用 resource(),并始终为每个 resource/entity/collection 配置 schema 以启用规范化。