0Pricing
GraphQL APIs with Spring Boot · Lección

Mutaciones de GraphQL: modificación de datos

Vaya más allá de la lectura de datos: aprenda a definir e implementar mutaciones de GraphQL para crear, actualizar y eliminar datos en Spring Boot.

Mutaciones de GraphQL: modificación de datos es una lección gratuita de GraphQL APIs with Spring Boot en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de GraphQL APIs with Spring Boot, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de GraphQL APIs with Spring Boot incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

From Reading to Writing

You can now define types, resolvers, and run queries. But real APIs must also change data.

In GraphQL, every write goes through a mutation — the counterpart to a query.

Query vs Mutation

The shapes look similar, but intent differs:

  • Query: read data, no side effects, may run in parallel.
  • Mutation: change data, executed sequentially top to bottom.

Declaring a Mutation in the Schema

Mutations live under the special Mutation type and usually return the affected object.

type Mutation {
  createBook(title: String!, author: String!): Book
}

Input Types for Complex Arguments

For many fields, group arguments into an input type instead of a long argument list.

input BookInput {
  title: String!
  author: String!
}

type Mutation {
  createBook(book: BookInput!): Book
}

Implementing the Resolver

In Spring Boot, annotate the handler with @MutationMapping.

@Controller
class BookMutation {
    @MutationMapping
    Book createBook(@Argument String title, @Argument String author) {
        return new Book(title, author);
    }
}

Returning the Result

Returning the created or updated object lets the client immediately read back any fields it needs.

mutation {
  createBook(title: "Clean Code", author: "Martin") {
    id
    title
  }
}

Update and Delete Mutations

The same pattern covers all writes.

type Mutation {
  updateBook(id: ID!, book: BookInput!): Book
  deleteBook(id: ID!): Boolean
}

A Self-Contained Logic Example

The resolver logic is plain Java; here is the core idea as a runnable snippet.

import java.util.*;
public class Main {
  static Map<Integer,String> store = new HashMap<>();
  static int seq = 0;
  static int createBook(String title){ int id = ++seq; store.put(id, title); return id; }
  public static void main(String[] a){
    int id = createBook("Clean Code");
    System.out.println("Created id=" + id + " title=" + store.get(id));
  }
}

Validating Input

Mutations are the right place to enforce rules: reject empty titles, check permissions, ensure referenced records exist.

Return clear errors so clients can react meaningfully.

Sequential Execution Matters

Unlike query fields, top-level mutation fields run one after another.

This guarantees that if a single request contains several mutations, earlier ones complete before later ones begin — important for consistency.

Best Practices

  • Use input types for multi-field arguments.
  • Return the affected object so clients can re-read fields.
  • Validate and authorize inside resolvers.
  • Name mutations as verbs: createBook, updateBook, deleteBook.

Quick Check

Test your understanding of GraphQL mutations.

Recap

You learned to change data with GraphQL mutations.

  • Define them under the Mutation type, often with input types.
  • Implement with @MutationMapping in Spring Boot.
  • They run sequentially and should validate and return the affected object.

Preguntas frecuentes

¿La lección «Mutaciones de GraphQL: modificación de datos» es gratis?

Sí — el texto completo de «Mutaciones de GraphQL: modificación de datos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de GraphQL APIs with Spring Boot, actualiza a CoddyKit PRO. El curso de GraphQL APIs with Spring Boot incluye 4 lecciones en total.

¿Qué aprenderé en «Mutaciones de GraphQL: modificación de datos»?

Vaya más allá de la lectura de datos: aprenda a definir e implementar mutaciones de GraphQL para crear, actualizar y eliminar datos en Spring Boot. Practicas GraphQL APIs with Spring Boot con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar GraphQL APIs with Spring Boot?

No se requiere experiencia previa. GraphQL APIs with Spring Boot en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Mutaciones de GraphQL: modificación de datos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de GraphQL APIs with Spring Boot?

Sí. Cada lección de GraphQL APIs with Spring Boot incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Definición de tipos de datos personalizados
  2. Implementación de resolvers de datos
  3. Ejecución de consultas sencillas de GraphQL
  4. Mutaciones de GraphQL: modificación de datos
← Volver a GraphQL APIs with Spring Boot