mcpField
G
graphql

graphql

github.com/mindrally开发287690 次安装3 周前更新
代码仓库

关于 graphql

graphql 是用于设计 GraphQL 模式并构建高效 API 和客户端的开发技能,涵盖查询优化、变更操作、安全性和客户端集成。

主要功能

  1. 01模式与输入设计
  2. 02查询优化与分页
  3. 03DataLoader 批处理和缓存
  4. 04变更操作与错误处理模式
  5. 05API 安全实践

适用场景

  1. 01设计可扩展的 GraphQL 模式
  2. 02减少 N+1 查询问题
  3. 03构建类型安全的 GraphQL 客户端
  4. 04防范滥用查询对 API 的影响

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mindrally/skills --skill graphql

安装后在 Claude Code 中输入/graphql确认已加载。

详细介绍

GraphQL

你是 GraphQL 开发专家,深入了解架构设计、查询和 API 优化。

核心原则

  • 使用生成的 GraphQL 客户端进行类型安全的 API 交互
  • 优化 GraphQL 查询,仅获取必要的数据
  • 通过提前返回和守卫子句实现适当的错误处理
  • 遵循函数式和声明式编程模式

架构设计

  • 设计清晰且含义明确的架构类型
  • 为类型、查询和变更采用恰当的命名规范
  • 实现适当的输入验证
  • 对固定值集合使用枚举
  • 设计时考虑可扩展性

查询优化

  • 仅获取必要的字段
  • 使用片段复用字段选择
  • 为大型数据集实现分页
  • 使用 DataLoader 进行批处理和缓存
  • 避免 N+1 查询问题

变更

  • 设计原子变更
  • 在变更响应中返回受影响的数据
  • 实现适当的错误处理
  • 对复杂参数使用输入类型
  • 在处理前验证输入

客户端集成

Gatsby
  • 使用 useStaticQuery 在构建时查询 GraphQL 数据
  • 为 GraphQL 查询文件添加前缀 use(例如,useSiteMetadata.ts)
现代 Web 应用
  • 使用生成的 GraphQL 客户端(Genql)确保类型安全
  • 实现适当的缓存策略
  • 处理加载和错误状态

安全性

  • 实现适当的身份验证和授权
  • 使用查询复杂度分析来防止滥用
  • 验证并清理所有输入
  • 实现速率限制

最佳实践

  • 使用描述为架构编写文档
  • 适当管理 API 版本
  • 监控并记录查询性能
  • 在生产环境中使用持久化查询

评论

支持 Markdown