Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Η GraphQL είναι μια ισχυρή γλώσσα ερωτημάτων που επιτρέπει στους πελάτες να ζητούν μόνο τα δεδομένα που χρειάζονται από έναν διακομιστή. Σας βοηθά να αυξήσετε τις ταχύτητες αιτημάτων, καθώς μπορείτε να προσαρμόσετε τα ερωτήματα για λήψη μόνο συγκεκριμένων δεδομένων.

Το GraphQL έχει δύο τύπους λειτουργίας: ερωτήματα και μεταλλάξεις. Παρά τις ομοιότητές τους, εξυπηρετούν πολύ διαφορετικούς σκοπούς.

Διαφορές μεταξύ ερωτημάτων GraphQL και μεταλλάξεων

Τα ερωτήματα και οι μεταλλάξεις είναι παρόμοια στο ότι, τα χρησιμοποιείτε για να κάνετε αιτήματα GraphQL API. Ωστόσο, διαφέρουν ως προς τη σύνταξη, τον τρόπο εκτέλεσης και τη χρήση.

Η σύνταξη των ερωτημάτων και των μεταλλάξεων

Η βασική σύνταξη ενός ερωτήματος GraphQL είναι η εξής:

ερώτημα getProduct($id: ID!) {
προϊόν (αναγνωριστικό: $id) {
όνομα
τιμή
}
}

Εδώ είναι τι σημαίνει αυτός ο κώδικας:

  • ερώτημα είναι η λέξη-κλειδί που προσδιορίζει το αίτημα ως ερώτημα.
  • getProduct είναι το όνομα της λειτουργίας
  • Το $id είναι η μεταβλητή
  • ΤΑΥΤΟΤΗΤΑ! είναι ο τύπος της μεταβλητής.

Εάν δεν χρειάζεστε τις μεταβλητές, παραλείψτε τις και ορίστε το ερώτημα ως εξής:

ερώτημα getProducts {
προϊόντα {
όνομα
τιμή
}
}

Σε ορισμένες περιπτώσεις, μπορείτε να παραλείψετε τη λέξη-κλειδί και το όνομα του ερωτήματος, γράφοντας ένα ερώτημα GraphQL ως εξής:

προϊόντα {
όνομα
τιμή
}

Ενώ αυτή η μορφή λειτουργεί, η χρήση της λέξης-κλειδιού ερωτήματος είναι καλύτερη για αναγνωσιμότητα.

Η σύνταξη των μεταλλάξεων είναι παρόμοια με τα ερωτήματα εκτός από τη χρήση της λέξης-κλειδιού μετάλλαξης.

μετάλλαξη AddNewProduct ($name: String!, $price: Number!) { 
addProduct (όνομα: $name, τιμή: $price) {
όνομα
τιμή
}
}

Διαφορετικοί τρόποι εκτέλεσης

Μια άλλη διαφορά μεταξύ ενός ερωτήματος και μιας μετάλλαξης είναι ότι τα ερωτήματα εκτελούνται παράλληλα ενώ οι μεταλλάξεις εκτελούνται συγχρονισμένα. Όταν εκτελείτε δύο μεταλλάξεις, θα εκτελούνται η μία μετά την άλλη, με τη σειρά

Αντίθετες χρήσεις για ερωτήματα και μεταλλάξεις

Θα πρέπει να χρησιμοποιείτε ερωτήματα μόνο για λειτουργίες READ. Για παράδειγμα, χρησιμοποιήστε ένα ερώτημα κατά τη λήψη προϊόντων από ένα τελικό σημείο API.

Χρησιμοποιήστε μεταλλάξεις για λειτουργίες CREATE, UPDATE και DELETE. Πρόκειται ουσιαστικά για λειτουργίες που αλλάζουν τα δεδομένα που είναι αποθηκευμένα στη βάση δεδομένων.

Για παράδειγμα, χρησιμοποιήστε μια μετάλλαξη κατά την ενημέρωση ενός ονόματος πελάτη μέσω ενός τερματικού σημείου παραγγελιών.

Αποκτήστε τη συνήθεια να χρησιμοποιείτε κατάλληλα ερωτήματα και μεταλλάξεις

Η GraphQL είναι μια ισχυρή γλώσσα ερωτημάτων που σας επιτρέπει να ζητάτε μόνο τα δεδομένα που χρειάζεστε. Υπάρχουν δύο λειτουργίες που μπορείτε να εκτελέσετε στο GraphQL: ερωτήματα και μεταλλάξεις.

Αυτές οι λειτουργίες διαφέρουν ως προς τη σύνταξη, την εκτέλεση και τις προβλεπόμενες χρήσεις τους. Θα πρέπει να χρησιμοποιείτε ερωτήματα για λειτουργίες READ και μεταλλάξεις για λειτουργίες CREATE, UPDATE και DELETE.