Ένα REST API είναι ένας συνηθισμένος τρόπος σχεδίασης ενός web API γύρω από πόρους όπως χρήστες, προβλήματα ή παραγγελίες. Κάθε πόρος έχει ένα URL και οι μέθοδοι HTTP όπως GET, POST, PATCH και DELETE λένε στον server τι θέλει να κάνει ο client.
Το REST σημαίνει Representational State Transfer. Στην πράξη, ένας client στέλνει ένα HTTP request, ο server επιστρέφει μια αναπαράσταση ενός πόρου και κάθε αίτημα πρέπει να βγάζει νόημα από μόνο του. Πολλά REST APIs επιστρέφουν JSON, αλλά το JSON από μόνο του δεν κάνει ένα API RESTful.
Τι Σημαίνει REST API: Σκέψου με Όρους Πόρων
Ο πιο γρήγορος τρόπος να καταλάβεις το REST είναι να σκέφτεσαι ουσιαστικά, όχι ρήματα.
Αν το σύστημά σου έχει προβλήματα, μαθητές και προσπάθειες, αυτά μπορούν να είναι πόροι. Ένα API προσανατολισμένο σε πόρους συνήθως χρησιμοποιεί URLs όπως /api/problems/42 ή /api/attempts/9001.
Η μέθοδος HTTP σου λέει έπειτα τι είδους ενέργεια γίνεται:
GETδιαβάζει έναν πόροPOSTδημιουργεί έναν νέο πόροPUTαντικαθιστά έναν πόροPATCHενημερώνει μέρος ενός πόρουDELETEαφαιρεί έναν πόρο
Αυτός ο διαχωρισμός είναι που κάνει το REST εύκολο να διαβαστεί γρήγορα. Το URL λέει με τι δουλεύεις. Η μέθοδος λέει τι θέλεις να κάνεις.
Πώς Λειτουργεί ένα REST API Request
Σε μια τυπική ροή, ένας browser, μια mobile app ή μια άλλη υπηρεσία στέλνει ένα request σε έναν server. Το request περιλαμβάνει ένα URL, μια μέθοδο HTTP, προαιρετικά headers και μερικές φορές ένα body.
Ο server διαβάζει το request, εκτελεί την ενέργεια και επιστρέφει ένα response. Αυτό το response συνήθως περιλαμβάνει έναν κωδικό κατάστασης όπως 200 OK, 201 Created ή 404 Not Found, μαζί με δεδομένα που περιγράφουν το αποτέλεσμα.
Μια σημαντική συνθήκη είναι το statelessness. Στο REST, κάθε request πρέπει να περιέχει το context που χρειάζεται για το συγκεκριμένο αίτημα. Αυτό δεν σημαίνει ότι ο server δεν αποθηκεύει δεδομένα. Σημαίνει ότι ο server δεν πρέπει να χρειάζεται κρυφή κατάσταση συνομιλίας από προηγούμενα requests για να καταλάβει το τρέχον.
Παράδειγμα REST API: Μια Εφαρμογή Εξάσκησης στα Μαθηματικά
Ας υποθέσουμε ότι μια εφαρμογή εξάσκησης στα μαθηματικά αποθηκεύει προβλήματα άλγεβρας και προσπάθειες μαθητών.
Για να διαβάσει το πρόβλημα , ο client μπορεί να στείλει:
Χρειάζεσαι βοήθεια με μια άσκηση;
Ανέβασε την ερώτησή σου και πάρε επαληθευμένη λύση βήμα-βήμα σε δευτερόλεπτα.
Άνοιξε το GPAI Solver →