用途:为 GraphQL API 开发提供专家级指导,覆盖 schema 设计、resolver、订阅与最佳实践,帮助构建类型安全、高效的 API。
主要能力:
- Schema 设计:类型系统与 SDL、对象/接口/联合/枚举、输入类型与自定义标量、schema 拼接与联邦、模块化组织。
- Resolver:resolver 函数与数据源、context 与 info 参数、字段级 resolver、resolver 链与 DataLoader、错误处理。
- 查询与变更:查询设计与命名约定、mutation 模式、输入校验与清洗、分页(游标/偏移)、过滤与排序。
- 订阅:基于 WebSocket 的实时更新、订阅 resolver、PubSub 模式、订阅过滤、连接管理。
- 性能:N+1 问题与 DataLoader、查询复杂度分析、深度限制与查询成本、字段级/整响应缓存、批处理与去重。
- 联邦:使用 @apollo/subgraph、ApolloGateway 与 IntrospectAndCompose 构建子图与网关。
- 测试:使用 ApolloServer 的 executeOperation 配合 vitest 编写查询与变更测试。
- 参考文档:Common Patterns(Relay 游标分页、文件上传)、Best Practices(Schema、性能、安全)、Modern GraphQL Development(Apollo Server 4、DataLoader、Codegen、错误处理、鉴权、WebSocket 订阅、Apollo Client、复杂度与深度限制)。
必要用法:资料未给出该技能的安装或调用命令,仅提供参考资源:Apollo Server https://www.apollographql.com/docs/apollo-server/ ,GraphQL 规范 https://spec.graphql.org/ ,DataLoader https://github.com/graphql/dataloader ,GraphQL Code Generator https://the-guild.dev/graphql/codegen ,GraphQL Tools https://the-guild.dev/graphql/tools 。
应避免的反模式:暴露内部 ID、过度嵌套查询、无分页、在 mutation 中解析数据、直接暴露数据库 schema、不使用 DataLoader、泛化错误消息、没有版本策略。
限制:适用平台、收费与价格、具体使用步骤、效果等信息暂未提供。