GraphQL

GraphQL
Автор книги: id книги: 1992069     Оценка: 0.0     Голосов: 0     Отзывы, комментарии: 0 1661,01 руб.     (15,42$) Читать книгу Купить и скачать книгу Электронная книга Жанр: Математика Правообладатель и/или издательство: Bookwire Дата добавления в каталог КнигаЛит: ISBN: 9783969101223 Скачать фрагмент в формате   fb2   fb2.zip Возрастное ограничение: 0+ Оглавление Отрывок из книги

Реклама. ООО «ЛитРес», ИНН: 7719571260.

Описание книги

API-Design mit GraphQL für Um- und Einsteiger In Anwendungen, bei denen es auf komplexe aber dennoch schlanke Datenabfragen ankommt, spielt GraphQL seine Vorteile aus. Dominik Kress gibt Ihnen dafür das nötige Wissen rund um API-Design und die GraphQL-spezifischen Datenmodelle an die Hand. Entwickler*innen, die bereits Erfahrungen mit APIs und beispielsweise REST gesammelt haben, können ihr Wissen auffrischen und dann direkt mit den Details von GraphQL starten. Zwei Praxisprojekte – eins in JavaScript und eins in Java – zeigen, wie Entwickler*innen mit den Besonderheiten von GraphQL umgehen können und wie ein Datenschema und die GraphQL-Spezifikation in der Praxis umgesetzt werden. Der Code der Projekte liegt auf GitHub zum Download bereit und lässt sich als idealen Ausgangspunkt für die ersten eigenen GraphQLProjekte nutzen.

Оглавление

Dominik Kress. GraphQL

GraphQL

Vorwort

Für wen ist dieses Buch?

Was soll dieses Buch vermitteln?

Inhaltsverzeichnis

1API-Grundlagen

1.1Was ist ein API?

1.2Vorteile eines API

1.2.1Flexibilität für Anbieter und Konsument

1.2.2Einheitliches Design und Funktionen

1.2.3Neue Geschäftsfelder

1.2.4Innovationstreiber API

1.3API: Die Definition

1.3.1API-Vertrag

1.3.2Die Akteure eines API

1.3.3Release-Arten von APIs

1.4Mögliche API-Technologien und -Spezifikationen

1.4.1Geschichte der Remote Execution

Die 1990er- bis 2000er-Jahre

Das Web 2.0

Heute und in Zukunft

1.4.2RESTful HTTP

1.4.3JSON:API

1.4.4gRPC

gRPC in der Verwendung

Vor- und Nachteile von gRPC

1.4.5GraphQL

Das Graphenschema

Die GraphQL-Querys

1.4.6Die Technologien im Vergleich

Fazit

2Von der Idee zur Umsetzung

2.1API Value Chain

2.1.1Geschäftsmodelle für private und öffentliche APIs

2.2Release-Arten

2.2.1Private APIs

2.2.2Öffentliche APIs

2.3Erste Schritte: Allgemeines Vorgehen

2.3.1Use Cases identifizieren

Beispiel: Produkte finden

2.3.2Funktionale Anforderungen

2.3.3Nicht-funktionale Anforderungen

2.3.4Die gemeinsame Sprache

2.3.5Gemeinsames Vokabular durch Schema.org erzeugen

3Grundlagen der GraphQL-API

3.1Das Graphen-Modell erzeugen

3.2Abfragen mit GraphQL

3.2.1Grundlegende Querys

3.2.2Querys generell

3.2.3Verschachtelte Querys

3.2.4Parameter in Querys

3.2.5Variablen in Querys

3.2.6Aliases in Querys

3.2.7Fragmentierte Querys

3.2.8Direktiven in Querys

3.2.9Inline-Fragmente in Querys

3.2.10Metafelder in Querys

3.2.11Mutationen: Datenmanipulation mit GraphQL

3.2.12Subscriptions: GraphQL Message Streaming

3.3Das GraphQL-Typ-System: Schemadefinition

3.3.1Grundlegende Schemas

3.3.2Skalar-Typen

3.3.3Enumerations-Typen

3.3.4Typ-Modifikatoren: Listen und Non-Null

3.3.5Parameter

3.3.6Input-Typen

3.3.7Interfaces

3.3.8Union-Typen

4API-Design I: Rund ums Schema des API

4.1Qualitätsmerkmale

4.2Designempfehlungen

4.2.1Schemadesign-Empfehlungen

Geschäftsperspektive über Implementierungsdetails

IDs und das Node-Muster

Vorsicht mit den Feldern und deren Typisierung

Geschäftslogik-Felder

4.2.2Mutation-Designempfehlungen

Input-Typen

Rückgabewerte der Mutation

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

8.2Das Projekt aufsetzen

8.2.1Den GraphQL-Server aufsetzen

8.3Das initiale Schema aufsetzen

8.3.1Objekte im Schema auflösen

8.3.2Feld-Resolver

8.3.3Das Node-Muster

8.3.4Ergebnisse filtern durch Parameter

8.3.5Objekt-Relationen

8.3.6ID-Referenz-basierte Objekt-Relationen

9Implementierung mit Java II: Erweitertes Schema und Mutationen

9.1Selbstdefinierte Skalar- und Geschäftslogik-Felder

9.1.1Skalar-Typ in Schema und POJO definieren

9.1.2Die GraphQLScalarType-Implementierung

9.1.3Geschäftslogik-Felder und -Parameter

9.2Mutationen erstellen und Schemamodularisierung

9.2.1Kunden registrieren

9.2.2Adressen löschen

9.2.3Adressen erstellen: Input-Typen

9.2.4Bestellung erstellen: verschachtelte Input-Typen

Literaturverzeichnis

Index

Отрывок из книги

Dominik Kress ist Software Engineer mit Heimat im E-Commerce. In seiner langjährigen Arbeit bei der größten Retail-Gruppe Europas hilft er bei der Modernisierung der internationalen Onlineshop-Systeme. Bei der Transformation von einem klassischen On-Premise-Monolithen zu einer Cloud-basierten Self-Contained-Systems-Architektur entwickelte und vertiefte sich seine Liebe zum Thema APIs. Sowohl im Umfeld seiner Arbeit als auch in privaten Projekten probiert er sich leidenschaftlich gerne an neuen Technologien, Spezifikationen und Methodiken. Daher ist für ihn der Austausch von Wissen und Erfahrungen auf Veranstaltungen und Konferenzen, die er auch gerne selbst nebenbei organisiert, besonders wichtig.

Eine Einführung in APIs mit GraphQL

.....

7.2.3Wunschliste mit Input-Typen erstellen

7.2.4Wunschlisten kaskadierend löschen

.....

Добавление нового отзыва

Комментарий Поле, отмеченное звёздочкой  — обязательно к заполнению

Отзывы и комментарии читателей

Нет рецензий. Будьте первым, кто напишет рецензию на книгу GraphQL
Подняться наверх