apollo-federation

द्वारा apollographql

Apollo Federation एकाधिक GraphQL API (उपग्राफ) को एक एकीकृत सुपरग्राफ में संयोजित करने में सक्षम बनाता है।

npx skills add https://github.com/apollographql/skills --skill apollo-federation

Apollo Federation Schema Authoring

Apollo Federation enables composing multiple GraphQL APIs (subgraphs) into a unified supergraph.

Federation 2 Schema Setup

Every Federation 2 subgraph must opt-in via @link:

extend schema
  @link(url: "https://specs.apollo.dev/federation/v2.12",
        import: ["@key", "@shareable", "@external", "@requires", "@provides"])

Import only the directives your subgraph uses.

Core Directives Quick Reference

DirectivePurposeExample
@keyDefine entity with unique keytype Product @key(fields: "id")
@shareableAllow multiple subgraphs to resolve fieldtype Position @shareable { x: Int! }
@externalReference field from another subgraphweight: Int @external
@requiresComputed field depending on external fieldsshippingCost: Int @requires(fields: "weight")
@providesConditionally resolve external field@provides(fields: "name")
@overrideMigrate field to this subgraph@override(from: "Products")
@inaccessibleHide from API schemainternalId: ID! @inaccessible
@interfaceObjectAdd fields to entity interfacetype Media @interfaceObject

Reference Files

Detailed documentation for specific topics:

  • Directives - All federation directives with syntax, examples, and rules
  • Schema Patterns - Multi-subgraph patterns and recipes
  • Composition - Composition rules, error codes, and debugging

Key Patterns

Entity Definition

type Product @key(fields: "id") {
  id: ID!
  name: String!
  price: Int
}

Entity Contributions Across Subgraphs

# Products subgraph
type Product @key(fields: "id") {
  id: ID!
  name: String!
  price: Int
}

# Reviews subgraph
type Product @key(fields: "id") {
  id: ID!
  reviews: [Review!]!
  averageRating: Float
}

Computed Fields with @requires

type Product @key(fields: "id") {
  id: ID!
  size: Int @external
  weight: Int @external
  shippingEstimate: String @requires(fields: "size weight")
}

Value Types with @shareable

type Money @shareable {
  amount: Int!
  currency: String!
}

Entity Stub (Reference Without Contributing)

type Product @key(fields: "id", resolvable: false) {
  id: ID!
}

Ground Rules

  • ALWAYS use Federation 2.x syntax with @link directive
  • ALWAYS import only the directives your subgraph uses
  • NEVER use @shareable without ensuring all subgraphs return identical values for that field
  • PREFER @key with single ID field for simple entity identification
  • USE rover supergraph compose to validate composition locally
  • USE rover subgraph check to validate against production supergraph

apollographql की और Skills

apollo-client
apollographql
Apollo Client एक व्यापक स्टेट मैनेजमेंट लाइब्रेरी है जो जावास्क्रिप्ट के लिए है, जो आपको GraphQL के साथ स्थानीय और दूरस्थ डेटा दोनों को प्रबंधित करने में सक्षम बनाती है। संस्करण 4.x बेहतर कैशिंग, बेहतर TypeScript समर्थन, और React 19 अनुकूलता लाता है।
official
apollo-client
apollographql
Apollo Client 4.x के साथ React एप्लिकेशन बनाने के लिए व्यापक गाइड, जिसमें क्वेरी, म्यूटेशन, कैशिंग और स्टेट मैनेजमेंट शामिल हैं। यह कई React फ्रेमवर्क और सेटअप को सपोर्ट करता है: क्लाइंट-साइड ऐप्स (Vite, CRA), React सर्वर कंपोनेंट्स के साथ Next.js App Router, स्ट्रीमिंग SSR के साथ React Router 7, और TanStack Start। इसमें क्वेरी (useQuery, useLazyQuery), म्यूटेशन (useMutation), और आधुनिक React 18+ और 19 के लिए Suspense-आधारित पैटर्न (useSuspenseQuery,
official
apollo-connectors
apollographql
REST APIs को @source और @connect निर्देशों का उपयोग करके GraphQL सुपरग्राफ में एकीकृत करें। एक संरचित 5-चरणीय प्रक्रिया प्रदान करता है: API संरचना पर शोध करें, निर्देशों के साथ स्कीमा लागू करें, rover supergraph compose के माध्यम से मान्य करें, कनेक्टर निष्पादित करें, और परीक्षण कवरेज करें। हेडर, बॉडी पेलोड, N+1 पैटर्न के लिए बैचिंग, और $env के माध्यम से पर्यावरण चर इंजेक्शन सहित अनुरोध कॉन्फ़िगरेशन का समर्थन करता है। फ़ील्ड चयन,
official
apollo-ios
apollographql
Apollo iOS एप्पल प्लेटफॉर्म के लिए एक मजबूत टाइप वाला GraphQL क्लाइंट है। यह आपके GraphQL ऑपरेशन और स्कीमा से Swift प्रकार उत्पन्न करता है, और एक async/await क्लाइंट, एक सामान्यीकृत कैश (इन-मेमोरी या SQLite-समर्थित), एक प्लग करने योग्य इंटरसेप्टर-आधारित HTTP ट्रांसपोर्ट जो क्वेरी, म्यूटेशन और मल्टीपार्ट सब्सक्रिप्शन को संभालता है, और एक वैकल्पिक WebSocket ट्रांसपोर्ट (graphql-transport-ws) जो किसी भी ऑपरेशन
official
apollo-kotlin
apollographql
Apollo Kotlin एक मजबूत टाइप किया गया GraphQL क्लाइंट है जो आपके GraphQL संचालन और स्कीमा से Kotlin मॉडल उत्पन्न करता है, जिसका उपयोग Android, JVM और Kotlin मल्टीप्लेटफ़ॉर्म प्रोजेक्ट्स में किया जा सकता है।
official
apollo-mcp-server
apollographql
एआई एजेंटों को मॉडल कॉन्टेक्स्ट प्रोटोकॉल के माध्यम से GraphQL API से जोड़ता है, जिसमें अंतर्निहित इंट्रोस्पेक्शन और ऑपरेशन टूल्स शामिल हैं। GraphQL ऑपरेशन को MCP टूल के रूप में प्रस्तुत करता है; तीन ऑपरेशन स्रोतों का समर्थन करता है: स्थानीय फ़ाइलें, GraphOS Studio संग्रह, और स्थायी क्वेरी मैनिफेस्ट। स्कीमा अन्वेषण और तदर्थ क्वेरी परीक्षण के लिए चार इंट्रोस्पेक्शन टूल (introspect, search, validate, execute) प्रदान करता है;
official
apollo-router
apollographql
अपोलो राउटर एक उच्च-प्रदर्शन ग्राफ राउटर है जो रस्ट में लिखा गया है और अपोलो फेडरेशन 2 सुपरग्राफ चलाने के लिए है। यह आपके सबग्राफ के सामने बैठता है और क्वेरी योजना, निष्पादन और प्रतिक्रिया संरचना को संभालता है।
official
apollo-router-plugin-creator
apollographql
अपोलो राउटर के लिए मूल रस्ट प्लगइन बनाएं।
official