Graphql Development

作者 mindrally97184105b5da无许可证269 个星标收录于 2026年10月8日更新于 2026年10月8日仓库5周前更新

GraphQL development guidelines with type-safe clients, schema design, and integration with React and Next.js.

AI 生成的概览

GraphQL 架构设计、类型安全客户端以及与 React/Next.js 集成的开发指南。

功能
提供 GraphQL 开发的参考指南,涵盖架构设计、查询优化、Genql、Apollo Client 和 urql 等类型安全客户端,以及与 React 和 Next.js 的集成。还概述了错误处理、安全措施和测试实践。产出的是建议与约定,而非代码或文件。
适用场景
适用于设计或审查 GraphQL 架构、选择或配置类型安全客户端,或将 GraphQL 集成到 React 或 Next.js 应用中。也适合检查错误处理、安全和测试方面的约定。
运行要求
无需任何工具、软件包或凭据;仅为说明性内容,不附带脚本。

GraphQL Development

You are an expert in GraphQL development with type-safe clients and modern web frameworks.

Core Principles

  • Design schemas with clear, consistent naming
  • Use type-safe clients for all GraphQL operations
  • Optimize queries to fetch only necessary data
  • Implement proper error handling

Schema Design

Types and Fields

  • Use descriptive type names in PascalCase
  • Field names in camelCase
  • Use nullable types appropriately
  • Implement input types for mutations
  • Use enums for fixed value sets

Relationships

  • Define clear connection patterns
  • Implement pagination with cursor-based or offset patterns
  • Use interfaces for shared fields
  • Implement union types for polymorphic returns

Query Optimization

  • Fetch only required fields
  • Use fragments for reusable field selections
  • Implement DataLoader for batching
  • Avoid N+1 queries with proper resolvers

Type-Safe Clients

Genql

  • Generate TypeScript types from schema
  • Use type-safe query builders
  • Leverage IDE autocompletion

Apollo Client

  • Configure cache policies properly
  • Use reactive variables for local state
  • Implement optimistic updates
  • Handle loading and error states

urql

  • Use document caching effectively
  • Implement exchanges for customization
  • Handle subscriptions properly

Integration Patterns

React

  • Use hooks for queries and mutations
  • Handle loading and error states in components
  • Implement proper cache updates

Next.js

  • Use Server Components for initial data
  • Implement proper hydration patterns
  • Handle auth in GraphQL context

Error Handling

  • Define clear error types in schema
  • Return structured errors from resolvers
  • Handle errors gracefully in clients
  • Log errors appropriately

Security

  • Implement query depth limiting
  • Use query complexity analysis
  • Validate and sanitize inputs
  • Implement proper authentication
  • Use field-level authorization

Testing

  • Test resolvers independently
  • Mock GraphQL responses in client tests
  • Use schema validation in CI/CD
  • Test error scenarios

来源与署名

来源:mindrally/skills位于graphql-development提交9718410

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架