用途:这是一个面向已经或计划构建 GraphQL API 的开发者的技能,强调 GraphQL 的灵活性与风险并存,帮助在实践中避免生产事故。
主要能力:涵盖 graphql-schema-design、graphql-resolvers、graphql-federation、graphql-subscriptions、graphql-dataloader、graphql-codegen,并涉及 apollo-server、apollo-client、urql 等工具。
推荐模式:使用类型安全 schema 并正确设计可空性;用 DataLoader 批量与缓存数据库查询以防 N+1;Apollo Client 采用带类型策略的规范化缓存。
应避免的反模式:不使用 DataLoader;不限制查询深度;把授权只写在 schema 里。
已知风险与对策:每个解析器单独查库会导致 N+1(严重,应使用 DataLoader);深层嵌套查询可拖垮服务器(严重,需限制查询深度与复杂度);生产环境开启 introspection 会暴露 schema(高,应在生产禁用);仅用 schema 指令而非解析器做授权(高,应在解析器内授权);只对查询而非字段做授权(高,需字段级授权);非空字段失败会连带使父级为 null(中,需有意设计可空性);昂贵查询与廉价查询同等对待(中,应做查询成本分析);订阅未妥善清理(中,需正确清理订阅)。
适用场景:后端 GraphQL API 设计、审查与性能优化。相关技能包括 backend、postgres-wizard、nextjs-app-router、react-patterns。具体安装与使用方式在给定资料中暂未提供。