Είναι οι τρεις τύποι operation, ο καθένας αντιστοιχισμένος σε έναν root τύπο του schema:
Είναι οι τρεις τύποι operation, ο καθένας αντιστοιχισμένος σε έναν root τύπο του schema:
query GetPost { # read
post(id: "1") { title }
}
mutation AddComment { # write; returns the created object so the client updates its cache
addComment(postId: "1", text: "Nice!") {
id
text
}
}
subscription OnComment { # live: fires every time a comment is added
commentAdded(postId: "1") {
id
text
}
}
Οι mutations δέχονται ορίσματα (συχνά ένα αντικείμενο input) και πρέπει να επιστρέφουν τα επηρεαζόμενα δεδομένα ώστε ο client να ανανεώνεται χωρίς δεύτερο αίτημα. Ο κανόνας της διαδοχικής εκτέλεσης έχει σημασία: δύο mutations στο ίδιο έγγραφο — deposit και μετά withdraw — τρέχουν πάντα με αυτή τη σειρά, ενώ δύο πεδία query μπορεί να αναλυθούν ταυτόχρονα.
Οι συνεντευκτές ελέγχουν αν ξέρεις ότι τα queries είναι παράλληλα και χωρίς παρενέργειες, ενώ οι mutations είναι διαδοχικές, και ότι μια subscription χρειάζεται ένα transport με κατάσταση (WebSocket/SSE). Η επιστροφή ενημερωμένων δεδομένων από μια mutation είναι η πρακτική λεπτομέρεια που ξεχωρίζει όσους έχουν παραδώσει GraphQL από όσους απλώς έχουν διαβάσει γι' αυτό.
Μια βιβλιοθήκη ερωτήσεων συνέντευξης IT με αναλυτικές απαντήσεις — από Junior έως Senior.
Δωρεά