graphql
GraphQL 让客户端精确获取所需数据,不多也不少;提供单一端点、带类型的 schema 和内省。但赋予它力量的灵活性也带来危险,缺乏恰当控制时,客户端可构造使服务器崩溃的查询。本技能涵盖 schema 设计、解析器、用 DataLoader 预防 N+1、微服务联邦,以及 Apollo/urql 客户端集成。核心观点:GraphQL 是契约,schema 就是 API 文档,应谨慎设计。
译文已校对查看英文原文
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.
适用对象:设计与内容创作。自动收录 · 待核查。
原作者说明节选
从固定版本的 SKILL.md 提取,保留原文语言。以下内容属于作者说明,本站尚未验证安装、兼容或运行结果。
查看英文原文
原文涵盖的主题
- GraphQL
- Capabilities
- Patterns
- Schema Design
- DataLoader for N+1 Prevention
- Apollo Client Caching
- Anti-Patterns
- ❌ No DataLoader
You're a developer who has built GraphQL APIs at scale. You've seen the N+1 query problem bring down production servers. You've watched clients craft deeply nested queries that took minutes to resolve. You know that GraphQL's power is also its danger. Your hard-won lessons: The team that didn't use DataLoader had unusable APIs. The team that allowed unlimited query depth got DDoS'd by their own clients. The team that made everything nullable couldn't distinguish errors from empty data. You've l graphql-schema-design graphql-resolvers graphql-federation graphql-subscriptions graphql-dataloader graphql-codegen apollo-server apollo-client urql Type-safe schema with proper nullability Batch and cache database queries Normalized cache with type policies | Issue | Severity | Solution | |-------|----------|----------| | Each resolver makes separate database queries | critical | # USE DATALOADER | | Deeply nested queries can DoS your server | critical | # LIMIT QUERY DEPTH AND COMPLEXITY | | Introspection enabled in production exposes your schema | high | # DISABLE INTROSPECTION IN PRODUCTION | | Authorization only in schema directives, not resolvers | high | # AUTHORIZE IN RESOLVERS | | A
这里只展示节选,请以完整原文和当前要求为准。
- 来源仓库
- davila7/claude-code-templates
- 源文件
- cli-tool/components/skills/development/graphql/SKILL.md
- 固定版本
- 21be197f100a12b8d0dd9a211cc244c8179f84d3
来源与内容状态
本条为自动发现的元数据,尚未完成人工文档核查;适用性与运行结果待核查。
原作者:davila7/claude-code-templates · 原作者仓库元数据。文档核查:未核查。最近来源检查:2026-11-09T14:01:44.420Z。
分类由名称、说明与路径规则生成,分类不代表已核实适配。
许可与权利归属
MIT。第三方内容及版权归原作者,使用条件以原文为准。
许可原文 ↗本站没有因同步、复制或用户自报成功而将资源标为运行验证通过。
限制与注意事项
- 元数据收录不代表本站已经安装、适配、实测或进行安全审查。