Übung5 GraphQL-API

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/8

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

9 Terms

1
New cards

Was ist der Hauptvorteil von GraphQL gegenüber REST in Bezug auf die Datenmenge, die gesendet wird?

GraphQL erlaubt dem Client, präzise zu definieren, welche Felder er benötigt. Dies verhindert Over-fetching (das Abrufen unnötiger Daten) und macht die Anwendung schneller und effizienter.

2
New cards

Welche drei Haupt-Operationstypen werden in einem GraphQL-Schema definiert, und wofür steht jeder Typ?

1. Query: Für das Lesen und Abfragen von Daten (z.B. allUsers).

2. Mutation: Für das Schreiben/Ändern von Daten (Erstellen, Bearbeiten, Löschen).

3. Subscription: Für kontinuierliche, automatisch aktualisierte Datenströme

3
New cards

Was bedeutet das Ausrufezeichen (!) hinter einem Skalar-Typ im GraphQL-Schema (z.B. String!)?

Es bedeutet, dass das entsprechende Feld nicht null sein darf (Non-Nullable)6. Es muss immer einen Wert enthalten, sowohl bei der Anfrage als auch in der Antwort7777.

4
New cards

Wie wird im Spring Boot Kontext des Skripts eine Methode im Controller an eine Query oder Mutation im Schema gebunden?

Durch die Annotationen @QueryMapping und @MutationMapping. Diese binden die Schema-Einträge an die entsprechenden Methoden, die die eigentliche Logik ausführen (die "Resolver")

5
New cards

Welche beiden Spring Boot Klassen arbeiten im Client zusammen, um eine synchrone GraphQL-Anfrage über HTTP zu senden?

1. RestClient (oder ein ähnlicher HTTP-Client) : Sendet die Anfrage über das HTTP-Protokoll.

2. HttpSyncGraphQlClient : Verwendet den RestClient, um die GraphQL-Syntax (document) zu senden und die Antwort in Java-Objekte zu konvertieren

6
New cards

Welche Web-Technologie ist für GraphQL Subscriptions zwingend erforderlich, und warum?

WebSockets .

Sie sind notwendig, weil Standard-HTTP 1.1 keine fortlaufende Datenübertragung vom Server zum Client ermöglicht. WebSockets bieten eine permanente, bidirektionale Verbindung.

7
New cards

Welche Klasse aus dem Reactive Programming wird im Server-Controller verwendet, um den fortlaufenden Datenstrom für eine Subscription zu repräsentieren?

Flux (aus Spring Webflux). Eine Methode gibt z.B. Flux<StockPrice> zurück , was bedeutet, dass sie über die Zeit hinweg viele Elemente des Typs StockPrice aussenden kann.

8
New cards

Mit welchem HTTP-Statuscode und welchem Header bestätigt der Server, dass die Verbindung erfolgreich auf das WebSocket-Protokoll umgestellt wurde?

Statuscode: 101 Switching Protocols

9
New cards

Welcher Nachrichtentyp wird im graphql-transport-ws Protokoll a) vom Server fortlaufend für die Daten gesendet und b) vom Client zum Beenden des Streams gesendet?

a) Daten senden: next

b) Stream beenden: complete