GraphQL APIs with Spring Boot · Урок

Основы сшивания схем

Изучите принципы сшивания схем для объединения разрозненных сервисов в единый API GraphQL.

Урок 2 из 411 шагов

«Основы сшивания схем» — бесплатный урок GraphQL APIs with Spring Boot на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения GraphQL APIs with Spring Boot, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс GraphQL APIs with Spring Boot содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Stitching: Unifying Your APIs

Imagine having multiple GraphQL services, perhaps from different teams or even different backend technologies. How do you present them as a single, cohesive API to your frontend? That's where Schema Stitching comes in!

It allows you to combine multiple independent GraphQL schemas into one unified gateway schema.

Breaking Down the Monolith

In large applications, a single, massive API (a "monolith") can become hard to manage. Different teams might step on each other's toes, and deployments become risky.

  • Slow Development: Changes impact the entire system.
  • Deployment Risks: A bug in one part can bring down everything.
  • Scaling Issues: Hard to scale specific parts independently.

GraphQL in a Microservice World

Microservices break down an application into smaller, independent services. Each service can have its own data and API.

When each microservice exposes its own GraphQL schema, clients would need to know about and query multiple endpoints. This adds complexity for the frontend.

Stitching vs. Federation: A Quick Look

You might hear about GraphQL Federation too. While both unify APIs, they do it differently.

  • Stitching: Combines existing schemas, often ideal for integrating legacy or third-party APIs.
  • Federation: Designed for building new microservices from scratch, where each service contributes parts of a single, unified graph.

This lesson focuses on Stitching.

The Stitching Process: An Overview

Think of a "stitching gateway" or "API Gateway". This gateway acts as a single entry point for clients.

It fetches schemas from individual backend services (called "sub-schemas") and then combines them into one "unified schema" that clients interact with. The gateway then delegates queries to the correct sub-schema.

Imagining Sub-Schemas

Let's say we have two services:

  • User Service: Manages user profiles.
  • Product Service: Manages product listings.

Each exposes its own GraphQL schema:

# User Service Schema
type Query {
  user(id: ID!): User
}
type User {
  id: ID!
  name: String
  email: String
}

# Product Service Schema
type Query {
  product(id: ID!): Product
}
type Product {
  id: ID!
  name: String
  price: Float
}

Combining Query & Mutation Types

The stitching gateway merges the root Query and Mutation types from all sub-schemas into a single root Query and Mutation type for the unified schema.

So, a client can query user(id: "1") AND product(id: "101") from the same endpoint.

Connecting Related Data

What if a User needs to know about their Product orders? Stitching allows you to extend types. For example, the Product Service could extend the User type to add an orders field.

The gateway handles resolving this, by first querying the User Service for the user, then using that user's ID to query the Product Service for their orders.

Why Stitching is Great

Schema stitching offers several advantages:

  • Unified API: One endpoint for all your services.
  • Modularity: Teams can build and deploy services independently.
  • Flexibility: Easily integrate third-party APIs or legacy systems.
  • Frontend Simplicity: Clients don't need to know about backend service boundaries.

Stitching Fundamentals Check

You've learned the core concepts of GraphQL Schema Stitching. Let's test your understanding!

Stitching Up What We Learned

In this lesson, we explored Schema Stitching, a powerful technique to combine multiple GraphQL APIs into a single, unified API gateway. We saw how it helps manage microservices and simplifies the client experience by providing one endpoint for diverse data sources.

Next, we'll dive into the practical implementation of merging multiple GraphQL schemas in a Spring Boot environment.

Можно начать бесплатно

Изучай GraphQL APIs with Spring Boot с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
12
Уроки
48

Часто задаваемые вопросы

Урок «Основы сшивания схем» бесплатный?

Да — полный текст урока «Основы сшивания схем» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс GraphQL APIs with Spring Boot, подпишись на CoddyKit PRO. Курс GraphQL APIs with Spring Boot содержит 4 уроков всего.

Чему я научусь в уроке «Основы сшивания схем»?

Изучите принципы сшивания схем для объединения разрозненных сервисов в единый API GraphQL. Ты практикуешь GraphQL APIs with Spring Boot с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать GraphQL APIs with Spring Boot?

Предыдущий опыт не требуется. GraphQL APIs with Spring Boot на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Основы сшивания схем»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке GraphQL APIs with Spring Boot?

Да. Каждый урок GraphQL APIs with Spring Boot включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Создание пользовательских директив
  2. Основы сшивания схем
  3. Объединение нескольких схем GraphQL
  4. Модульная структура схемы с расширениями типов
← Назад к GraphQL APIs with Spring Boot