Θεμελιώδη · Άρθρο
Τι είναι το API;
Κάθε φορά που ελέγχεις τον καιρό στο κινητό, μπαίνεις σε ένα site με τον λογαριασμό Google, ή πληρώνεις με κάρτα σε ένα e-shop, στο παρασκήνιο δουλεύει ένα API. Είναι ο συμφωνημένος τρόπος με τον οποίο δύο συστήματα ανταλλάσσουν δεδομένα — και το χρησιμοποιείς ήδη κάθε μέρα χωρίς να το ξέρεις.
Η αναλογία με το εστιατόριο
Φαντάσου ότι είσαι σε εστιατόριο. Εσύ είσαι το frontend, ο πελάτης. Η κουζίνα είναι το backend, εκεί που γίνεται η δουλειά. Ο σερβιτόρος είναι το API.
Δεν μπαίνεις στην κουζίνα. Λες στον σερβιτόρο τι θέλεις, εκείνος το μεταφέρει και σου φέρνει πίσω το αποτέλεσμα. Το API κάνει ακριβώς αυτό: μεσολαβεί ανάμεσα στα δύο συστήματα, χωρίς το ένα να χρειάζεται να ξέρει πώς λειτουργεί το άλλο από μέσα.
Τρία παραδείγματα από την καθημερινότητα
Καιρός στο κινητό. Η εφαρμογή στέλνει request σε ένα API καιρού και παίρνει πίσω JSON με την πόλη, τη θερμοκρασία και τις συνθήκες. Τα δείχνει στην οθόνη, χωρίς να ξέρει από πού προέκυψαν.
Σύνδεση με Google. Το site δεν βλέπει ποτέ τον κωδικό σου. Ρωτάει το API της Google αν είσαι όντως αυτός που δηλώνεις, και η Google απαντάει ναι ή όχι.
Πληρωμή με κάρτα. Το e-shop δεν αγγίζει τα στοιχεία της κάρτας. Τα στέλνει στο API της Stripe και παίρνει πίσω «επιτυχία» ή «αποτυχία».
Πώς λειτουργεί ένα API
Τα περισσότερα APIs μιλάνε HTTP — το ίδιο πρωτόκολλο που χρησιμοποιεί ο browser σου. Έχουν τέσσερις βασικές ενέργειες:
- GET — φέρνει δεδομένα
- POST — δημιουργεί κάτι νέο
- PUT / PATCH — ενημερώνει κάτι που υπάρχει ήδη
- DELETE — διαγράφει
Σε ένα API για άρθρα, για παράδειγμα, οι διαδρομές μοιάζουν κάπως έτσι:
GET /articles— όλα τα άρθραGET /articles/5— το άρθρο με id 5POST /articles— δημιούργησε νέο άρθροDELETE /articles/5— διέγραψε το άρθρο 5
Τι είναι το REST API — και γιατί το ζητάνε τα βιογραφικά
Σχεδόν κάθε αγγελία για junior developer ζητάει «γνώση REST APIs». Το REST δεν είναι γλώσσα· είναι ένα σύνολο συμβάσεων για το πώς δομείς ένα API:
- χρησιμοποιείς τα HTTP methods όπως προβλέπεται — όχι
/getArticleή/deleteUserμέσα στο URL - τα URLs αντιπροσωπεύουν πόρους —
/articles/5αντί για/getArticleById?id=5 - είναι stateless — κάθε request περιέχει όλα όσα χρειάζεται από μόνο του
- επιστρέφει JSON — το καθιερωμένο format ανταλλαγής δεδομένων στο web
Αν έχεις γράψει έστω ένα project με fetch() ή axios, δουλεύεις ήδη με REST APIs.
Με λίγα λόγια
- Το API είναι ο συμφωνημένος τρόπος επικοινωνίας ανάμεσα σε δύο συστήματα.
- Τα περισσότερα βασίζονται σε HTTP, με GET, POST, PUT και DELETE.
- Το REST είναι ένα σύνολο κανόνων για τη δομή ενός API — πόροι στα URLs, σωστά methods, stateless, JSON.
- Αν έχεις χρησιμοποιήσει
fetch()ή axios, ξέρεις ήδη REST.
Σχόλια · 0