Dominik Kress

GraphQL


Скачать книгу

4.1Qualitätsmerkmale

       4.2Designempfehlungen

       4.2.1Schemadesign-Empfehlungen

       4.2.2Mutation-Designempfehlungen

       4.3HTTP: Netzwerk-Design

       4.3.1POST-Requests

       4.3.2GET-Requests

       4.3.3Responses

       4.4Pagination

       4.4.1Splicing

       4.4.2Offset-basierte Pagination

       4.4.3Cursor-basierte Pagination

       4.4.4Edges und Connections

       4.5Fehlermanagement

       4.5.1Application Errors

       4.5.2Type und Validation Errors

       4.5.3Fehler mit partiellen Ergebnissen

       4.5.4Fehler ohne Teilergebnisse

       5API-Design II: Die Landschaft um das API

       5.1Autorisierung

       5.1.1GraphQLs Probleme mit Autorisierung

       5.1.2Autorisierung auf Ebene der Geschäftslogik

       5.2Dokumentation

       5.2.1Statische Dokumentation

       5.2.2Dynamische Dokumentation

       5.3Versionierung

       5.3.1GraphQLs Evolution im Beispiel

       5.4Monitoring und Instrumentation

       5.4.1Feingranulares Monitoring

       5.4.2Verstehen, wie das API genutzt wird

       5.5Performanzoptimierung: Caching und Batching

       5.5.1Das 1+n-Problem

       5.5.2DataLoader

       5.5.3CDN-Caching

       5.5.4Clientseitiges Caching

       6Implementierung mit Node I: Das erste Schema

       6.1Use Case

       6.2Initiales Aufsetzen des Projekts

       6.2.1Das Node.js-Projekt aufsetzen

       6.2.2Den GraphQL-Server mit Apollo aufsetzen

       6.3Das initiale Schema aufsetzen

       6.3.1Parameter und erste Resolver-Logik

       6.3.2Feld-Level-Resolver und Interfaces

       6.3.3Interfaces und Filter für IDs

       6.3.4Typrelationen

       7Implementierung mit Node II: Erweitertes Schema und Mutationen

       7.1Schema-Modularisierung

       7.1.1Technische Separation

       7.1.2Domain-Separation

       7.1.3Resolver Map aufteilen und Models durch Context verteilen

       7.2Mutationen

       7.2.1Ein Produkt erstellen

       7.2.2Produkt löschen

       7.2.3Wunschliste mit Input-Typen erstellen

       7.2.4Wunschlisten kaskadierend löschen

       8Implementierung mit Java I: Das erste Schema

       8.1Use Case