NestJS Enterprise Backend APIs · Lektion

Grundlagen von GraphQL

Machen Sie sich mit den grundlegenden Konzepten von GraphQL vertraut, darunter Queries, Mutationen, Subscriptions und die Schema Definition Language (SDL).

Lektion 1 von 312 Schritte

Grundlagen von GraphQL ist eine kostenlose NestJS Enterprise Backend APIs-Lektion auf CoddyKit. Dies ist Lektion 1 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des NestJS Enterprise Backend APIs-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der NestJS Enterprise Backend APIs-Kurs umfasst insgesamt 3 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

What is GraphQL?

Welcome to GraphQL! It's a powerful query language for APIs and a runtime for fulfilling those queries with your existing data.

Think of it as asking for exactly what you need, nothing more, nothing less. This helps make your APIs efficient and flexible.

GraphQL vs. REST APIs

Traditionally, REST APIs often require multiple requests to fetch all necessary data, leading to "over-fetching" or "under-fetching".

  • Over-fetching: Getting more data than you need.
  • Under-fetching: Needing multiple requests to get all data.

GraphQL solves this by letting clients define the exact data structure they want in a single request.

The Core: GraphQL Schema

At the heart of every GraphQL API is its schema. This schema acts as a contract between the client and the server.

It defines all the data types and operations (queries, mutations, subscriptions) that clients can perform. It's like a blueprint for your API.

Defining Schemas with SDL

GraphQL schemas are written using the Schema Definition Language (SDL). It's a simple, human-readable syntax.

SDL allows you to specify your API's capabilities and data structures clearly. It's language-agnostic, meaning it works with any backend language.

schema {
  query: Query
}

type Query {
  hello: String
}

Building Blocks: Object Types

The most fundamental component of a GraphQL schema is the Object Type. It represents a type of object you can fetch from your service.

Each object type has fields, which are specific pieces of data it can hold. Fields can also be other object types!

type User {
  id: ID!
  name: String!
  email: String
  posts: [Post!]
}

type Post {
  id: ID!
  title: String!
  content: String
}

Data Types: Scalars & Lists

Scalar types are the basic building blocks that resolve to a single value, like String, Int, Float, Boolean, and ID (a unique identifier).

List types allow a field to return a list of a certain type, indicated by []. The ! means a field is Non-Null, so it must always return a value.

type Product {
  id: ID!         # Non-null ID
  name: String!   # Non-null String
  price: Float!   # Non-null Float
  tags: [String!] # List of non-null Strings
  inStock: Boolean
}

Fetching Data with Queries

Queries are how clients request data from a GraphQL server. You specify the exact fields you want to receive.

This ensures you only get the data you ask for, avoiding over-fetching common in REST APIs.

query GetProductNames {
  products {
    id
    name
  }
}

Dynamic Queries with Arguments

Fields in GraphQL can take arguments, allowing you to pass parameters to customize the data fetched. This is useful for filtering or finding specific items.

Arguments are defined in the schema and used by the client when making a query.

query GetProductById {
  product(id: "prod123") {
    id
    name
    price
  }
}

Modifying Data with Mutations

While queries are for reading data, mutations are for writing, updating, or deleting data on the server.

Like queries, mutations also specify what data to return after the operation, ensuring immediate feedback on changes.

mutation CreateNewProduct {
  createProduct(name: "New Gadget", price: 99.99) {
    id
    name
  }
}

Real-time Updates: Subscriptions

Subscriptions are a special type of operation that allows clients to receive real-time updates from the server when specific events occur.

This is perfect for features like live chat, notifications, or real-time dashboards. It typically uses WebSockets.

Schema Fundamentals Check

Consider the following GraphQL SDL snippet for an Author type:

type Author {
  id: ID!
  name: String!
  books: [Book!]
}

Which of the following statements are true about the books field?

GraphQL Fundamentals Recap

Great job! You've learned the core concepts of GraphQL:

  • It's a query language for APIs, offering precise data fetching.
  • The schema defines the API's capabilities using SDL.
  • You use queries to read, mutations to write, and subscriptions for real-time data.

Next, we'll see how to integrate GraphQL into a NestJS application!

Kostenlos starten

Lerne TypeScript mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
20
Lektionen
76

Häufig gestellte Fragen

Ist die Lektion „Grundlagen von GraphQL“ kostenlos?

Ja — der vollständige Text von „Grundlagen von GraphQL“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des NestJS Enterprise Backend APIs-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der NestJS Enterprise Backend APIs-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Grundlagen von GraphQL“?

Machen Sie sich mit den grundlegenden Konzepten von GraphQL vertraut, darunter Queries, Mutationen, Subscriptions und die Schema Definition Language (SDL). Du übst NestJS Enterprise Backend APIs mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um NestJS Enterprise Backend APIs zu starten?

Keine Vorkenntnisse erforderlich. NestJS Enterprise Backend APIs auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 3.

Wie lange dauert die Lektion „Grundlagen von GraphQL“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser NestJS Enterprise Backend APIs-Lektion Code schreiben und ausführen?

Ja. Jede NestJS Enterprise Backend APIs-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen von GraphQL
  2. NestJS-GraphQL-Einrichtung
  3. Resolver und Subscriptions
← Zurück zu NestJS Enterprise Backend APIs