Dynamic definition You can define your schema dynamically based on other data
Generators Use Rails generators to install GraphQL and scaffold new types.
Lazy Execution Resolve functions can return "unfinished" results. GraphQL will defer finishing them until other fields have been resolved.
Limiting Visibility Flag types and fields so that only some clients can see them.
Root Types Root types are the entry points for queries, mutations and subscriptions.
Handing Typecasting Errors Specify how GraphQL should handle errors when runtime objects don't match the expected types
Extending the DSL Customize the DSL for your application
Testing Techniques for testing your GraphQL system
Error Handling Handle errors during execution
Instrumentation Wrap query execution with custom logic
Executing Queries Evaluate GraphQL queries with your schema
Ahead-of-Time Analysis Check incoming query strings and reject them if they don't pass your checks
Phases of Execution The steps GraphQL takes to run your query
Mutations Creating, Updating and Deleting
Complexity & Depth Limiting query depth and field selections
Timeout Cutting off GraphQL execution
Multiplex Run multiple queries concurrently
Tracing Observation hooks for execution
Backtrace Annotations Use the GraphQL backtrace for debugging
Introduction Implement fields and resolvers with the Ruby DSL
GraphQL::Function Create reusable resolve behavior with GraphQL::Function
Arguments Fields may take arguments as inputs
Instrumentation Wrap and modify resolution behavior at schema build-time
Limits Always limit lists of items
Wrapping Resolve Functions Modify execution by wrapping each field's resolve function
GraphQL::Pro Home Overview of GraphQL::Pro features
Installation Get started with GraphQL::Pro
Authorization Framework GraphQL::Pro's comprehensive access control system, including CanCan and Pundit integrations
Monitoring GraphQL plugins for NewRelic, AppSignal, Scout, Skylight and Datadog
Stable Cursors for ActiveRecord Value-based cursors for stable pagination over ActiveRecord::Relations
Encrypted, Versioned Cursors and IDs Increased opacity and configurability for Relay identifiers
Overview Learn how persisted queries work and how OperationStore implements them.
Getting Started Add GraphQL::Pro::OperationStore to your app
Client Workflow Add clients to the system, then sync their operations with the database.
Server Management Tips for administering persisted queries with OperationStore
Access Control Manage authentication & visibility for your OperationStore server.
Apollo Subscriptions GraphQL subscriptions with GraphQL-Ruby and Apollo Client
Relay Subscriptions GraphQL subscriptions with GraphQL-Ruby and Relay Modern