Gegevens bijwerken en verwijderen
Ontwikkel mutations om bestaande gegevens te wijzigen en records uit uw systeem te verwijderen.
Gegevens bijwerken en verwijderen is een gratis GraphQL-API's met Spring Boot-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject GraphQL-API's met Spring Boot. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus GraphQL-API's met Spring Boot bevat in totaal 4 lessen.
Je gegevens wijzigen
Tot nu toe heb je geleerd hoe je gegevens met query's ophaalt en met mutaties nieuwe gegevens toevoegt. Maar hoe wijzig of verwijder je bestaande records?
In deze les leer je hoe je met GraphQL-mutaties gegevens kunt bijwerken en verwijderen, zodat je toepassingen volledig dynamisch worden.
GraphQL-update-mutatie (SDL)
Een update-mutatie wijzigt een bestaand record. Hiervoor is meestal een identificatie (zoals een ID) nodig om aan te geven welk record moet worden gewijzigd, gevolgd door de velden die je wilt bijwerken.
Zo kun je een updateBook-mutatie in je GraphQL-schema (SDL) definiëren:
type Mutation {
updateBook(id: ID!, title: String, author: String, year: Int): Book
}
Invoertypen voor updates ontwerpen
Voor overzichtelijkere mutaties, vooral bij veel velden, is het een goede gewoonte om een invoertype te gebruiken. Hiermee bundel je alle argumenten in één object.
Een invoertype lijkt op een normaal type, maar gebruikt het sleutelwoord input.
input UpdateBookInput {
id: ID!
title: String
author: String
year: Int
}
type Mutation {
updateBook(input: UpdateBookInput!): Book
}
Spring Boot: updateresolver
In je Spring Boot-toepassing maak je een Java-methode die als resolver voor de updateBook-mutatie fungeert.
Deze methode ontvangt de benodigde argumenten (zoals de ID van het boek en de nieuwe gegevens) en voert de updatelogica uit. Daarbij werkt de methode vaak samen met een database of service.
public Book updateBook(String id, String title, String author, Integer year) {
// ... logic to find and update the book ...
return updatedBook;
}
Updatelogica implementeren
Bekijk een eenvoudig Java-voorbeeld van hoe een update kan werken. We gebruiken een lijst in het geheugen om een gegevensopslag te simuleren.
Let erop hoe we het boek op ID vinden en vervolgens de eigenschappen ervan wijzigen.
public class Main {
static class Book {
String id;
String title;
public Book(String id, String title) {
this.id = id;
this.title = title;
}
public String getId() { return id; }
public String getTitle() { return title; }
public void setTitle(String title) { this.title = title; }
@Override
public String toString() { return "Book[id=" + id + ", title='" + title + "']"; }
}
private static java.util.List<Book> books = new java.util.ArrayList<>();
public static void main(String[] args) {
books.add(new Book("1", "Original Title"));
books.add(new Book("2", "Another Book"));
System.out.println("Before update:");
books.forEach(System.out::println);
// Simulate update logic
String targetId = "1";
String newTitle = "Updated Title";
books.stream()
.filter(b -> b.getId().equals(targetId))
.findFirst()
.ifPresent(book -> book.setTitle(newTitle));
System.out.println("\nAfter update:");
books.forEach(System.out::println);
}
}GraphQL-verwijdermutatie (SDL)
Gegevens verwijderen is eenvoudiger. Meestal hoef je alleen de unieke ID op te geven van het record dat je wilt verwijderen.
Een verwijdermutatie retourneert meestal de ID van het verwijderde item of een boolean die aangeeft of de bewerking is geslaagd.
type Mutation {
deleteBook(id: ID!): ID
}
Spring Boot: verwijderresolver
Net als bij bijwerken heeft een verwijdermutatie in Spring Boot een bijbehorende Java-methode.
Deze methode ontvangt de ID van het item dat moet worden verwijderd en voert de verwijderbewerking uit.
public String deleteBook(String id) {
// ... logic to find and delete the book ...
return id;
}
Verwijderlogica implementeren
Dit is een eenvoudig Java-voorbeeld van een verwijderbewerking. We verwijderen een boek uit onze lijst in het geheugen op basis van de ID.
De methode removeIf is een beknopte manier om elementen te verwijderen die aan een voorwaarde voldoen.
public class Main {
static class Book {
String id;
String title;
public Book(String id, String title) {
this.id = id;
this.title = title;
}
public String getId() { return id; }
public String getTitle() { return title; }
@Override
public String toString() { return "Book[id=" + id + ", title='" + title + "']"; }
}
private static java.util.List<Book> books = new java.util.ArrayList<>();
public static void main(String[] args) {
books.add(new Book("1", "Book to Delete"));
books.add(new Book("2", "Another Book"));
System.out.println("Before delete:");
books.forEach(System.out::println);
// Simulate delete logic
String targetId = "1";
books.removeIf(book -> book.getId().equals(targetId));
System.out.println("\nAfter delete:");
books.forEach(System.out::println);
}
}Ontbrekende records afhandelen
Wat gebeurt er als je een record probeert bij te werken of te verwijderen dat niet bestaat?
- Je resolver moet controleren of de
IDbestaat. - Als de ID niet wordt gevonden, kan de resolver
nullretourneren of een specifieke GraphQL-fout genereren (in een latere cursus leer je meer over foutafhandeling!). - Zo voorkom je onverwacht gedrag en informeer je de client.
Korte controle: mutatiebewerkingen
Je hebt geleerd over verschillende typen GraphQL-bewerkingen. Laten we controleren of je de stof begrijpt!
Samenvatting: gegevenswijzigingen beheersen
Gefeliciteerd! Je hebt geleerd hoe je krachtige functies voor het wijzigen van gegevens implementeert:
- Updatemutaties: worden gebruikt om bestaande gegevensrecords te wijzigen, die aan de hand van een unieke ID worden geïdentificeerd.
- Verwijdermutaties: worden gebruikt om gegevensrecords uit je systeem te verwijderen, eveneens geïdentificeerd aan de hand van een unieke ID.
- Spring Boot-resolvers: je hebt geleerd hoe je deze mutaties koppelt aan Java-methoden voor backendlogica.
Met query's en mutaties voor het maken, bijwerken en verwijderen beschik je nu over een volledige set hulpmiddelen om dynamische GraphQL-API's te bouwen!
Leer GraphQL-API's met Spring Boot met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Gegevens bijwerken en verwijderen” gratis?
Ja — de volledige tekst van “Gegevens bijwerken en verwijderen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus GraphQL-API's met Spring Boot wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus GraphQL-API's met Spring Boot bevat in totaal 4 lessen.
Wat leer ik in “Gegevens bijwerken en verwijderen”?
Ontwikkel mutations om bestaande gegevens te wijzigen en records uit uw systeem te verwijderen. Je oefent met GraphQL-API's met Spring Boot door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met GraphQL-API's met Spring Boot te beginnen?
Ervaring vooraf is niet nodig. GraphQL-API's met Spring Boot op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Gegevens bijwerken en verwijderen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over GraphQL-API's met Spring Boot?
Ja. Elke les over GraphQL-API's met Spring Boot bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- GraphQL-mutations begrijpen
- Gegevens maken met mutations
- Gegevens bijwerken en verwijderen
- Invoerargumenten van mutaties valideren