Τι είναι το API REST; Λέει κάτι να σταματήσει ή να σταματήσει; Το RESTful API είναι ένα τεμπέλης πρόγραμμα ή ένα πρόγραμμα που ξεκινά μια κατάσταση ξεκούρασης; Εάν ενδιαφέρεστε καθόλου για τον ιστό και πώς λειτουργούν οι διάφορες τεχνολογίες πίσω από αυτό, θα θέλετε να μάθετε για το RESTful API.
Ένα API είναι μια διεπαφή προγραμματισμού εφαρμογών. Ένα API μπορεί να είναι πολλά πράγματα σε πολλούς προγραμματιστές, αλλά ουσιαστικά είναι ένας μεσάζων που σας επιτρέπει να συνδέσετε ένα πρόγραμμα σε άλλο. Πολλοί προγραμματιστές και προγραμματιστές θα κρύψουν τον βασικό τους κώδικα για να εμποδίσουν τους άλλους να κλέψουν όλη τη σκληρή δουλειά τους. Εάν θέλουν άλλα προγράμματα να συνεργαστούν με το πρόγραμμά τους, πρέπει επίσης να κάνουν κάποιο διαθέσιμο κώδικα για να επιτρέψουν αυτή την αλληλεπίδραση. Αυτό είναι όπου APIs έρχονται. Ένας προγραμματιστής μπορεί να δημιουργήσει APIs που επιτρέπουν σε άλλα προγράμματα να διασυνδέονται με τη δημιουργία τους και να παρέχουν επιπλέον χαρακτηριστικά και αλληλεπιδράσεις.
Ένα API θα γραφτεί με μια συγκεκριμένη δομή που έχει μορφοποιηθεί με ένα συγκεκριμένο τρόπο που ο πόρος μπορεί να καταλάβει και που δεν χρησιμοποιεί πάρα πολλούς πόρους. Πολλές ιστοσελίδες, προγράμματα και πλατφόρμες χρησιμοποιούν API. Το Facebook τις έχει, το YouTube τις χρησιμοποιεί, οι Χάρτες Google τις έχουν, το Android και το iOS τους χρησιμοποιούν και το πιο αξιοσημείωτο λογισμικό θα έχει κάποιου είδους διεπαφή προγραμματισμού. Είναι ένας καλός τρόπος για να προσθέσετε αξία και χαρακτηριστικά χωρίς να δείξετε στον κόσμο τον τρόπο με τον οποίο το πρόγραμμά σας είναι μαζί.
Πώς χρησιμοποιούνται τα API;
Για παράδειγμα, πείτε ότι θέλετε να δημιουργήσετε ένα σύνολο φίλτρων κάμερας για ένα τηλέφωνο. Αντί να δημιουργήσετε τη δική σας εφαρμογή φωτογραφικής μηχανής, θα χρησιμοποιούσατε την API φωτογραφικής μηχανής της Apple ή του Android για να χρησιμοποιήσετε την κάμερα. Η εναλλακτική λύση θα ήταν να δημιουργηθεί ένα εντελώς νέο λογισμικό κάμερας για κάθε λειτουργικό σύστημα τηλεφώνου το οποίο είναι πολύ έργο. Αντ 'αυτού, πρέπει απλά να δημιουργήσετε ένα API που μπορεί να επικοινωνήσει με το υπάρχον λογισμικό κάμερας και να στείλει τα δεδομένα φίλτρων από και προς αυτό.
Τα API μπορούν επίσης να χρησιμοποιηθούν για την πρόσβαση σε πόρους του συστήματος, τη διασύνδεση με άλλα συστήματα, την προσφορά χαρακτηριστικών προστιθέμενης αξίας στα προγράμματα περιήγησης και όλα αυτά τα καλά πράγματα. Αν θυμάστε απλώς ότι ένα API είναι ένα κομμάτι κώδικα που μιλάει σε άλλα προγράμματα, θα πρέπει να είστε εντάξει.
Ένα άλλο παράδειγμα θα είναι οι Χάρτες Google. Εάν θέλετε να προσθέσετε έναν Χάρτη Google στον ιστότοπό σας που να δείχνει την τοποθεσία σας, ρυθμίζετε ένα API Χαρτών Google με ένα ερώτημα HTTP GET για να τραβήξετε το χάρτη από την Google. Με αυτόν τον τρόπο, παίρνετε ό, τι θέλετε χωρίς να χρειάζεται να κάνει η Google τίποτα ή να επιτρέψει την πρόσβαση στα εσωτερικά της πλατφόρμας χαρτογράφησης.
Χρησιμοποιώντας ένα API, οι διακομιστές των Χαρτών Google μπορούν να ικανοποιήσουν εκατομμύρια ερωτήματα σε σύντομο χρονικό διάστημα χωρίς να επιβαρύνουν το διακομιστή χαρτών. Τα ερωτήματα API θα είναι σωστά δομημένα ώστε να μπορούν να ικανοποιηθούν χρησιμοποιώντας τους λιγότερους πόρους. Το RESTful API εξασφαλίζει ότι δεν μπορεί να γραφτεί τίποτα στη βάση δεδομένων και δεν αφήνει ίχνη, αφήνοντας το διακομιστή χάρτη να μεταβεί στο επόμενο ερώτημα.
RESTful API
Το REST αντιπροσωπεύει τη μεταφορά κρατικής αντιπροσωπείας. Ένα RESTful API χρησιμοποιείται για τη μεταφορά δεδομένων από έναν πόρο σε έναν πελάτη. Για παράδειγμα, μια μηχανή αναζήτησης χρησιμοποιεί έναν τύπο RESTful API. Εισάγετε έναν όρο αναζήτησης και ο μηχανισμός ερωτά τους διακομιστές. Η υπηρεσία εξυπηρετεί τη μεταφορά των δεδομένων συσχετισμού στο πρόγραμμα περιήγησής σας για χρήση από εσάς. Έτσι λειτουργεί το RESTful API.
Τώρα γνωρίζετε ότι ένα API επιτρέπει σε εξωτερικά προγράμματα να αλληλεπιδρούν με ορισμένα άλλα προγράμματα. Ένα RESTful API επιτρέπει σε ένα ανεξάρτητο πρόγραμμα να επικοινωνεί με μια εντελώς ξεχωριστή βάση δεδομένων, όπως στο παραπάνω παράδειγμα μηχανής αναζήτησης.
Αυτό που κάνει μια εργασία RESTful API είναι ότι είναι απασχολημένος και μπορεί να αποθηκευτεί στην κρυφή μνήμη. Ο ανιθαγενής σημαίνει ότι το ερώτημα που έχει γίνει από ένα RESTful API δεν έχει καμία επίδραση στη βάση δεδομένων. Το ερώτημα δεν είναι (πάντα) καταγεγραμμένο, τίποτα δεν είναι αποθηκευμένο στη βάση δεδομένων και δεν μπορεί να εγγραφεί στη βάση δεδομένων. Είναι ουσιαστικά μόνο για ανάγνωση.
Το να είναι αποθηκευμένο στον αποθηκευτικό χώρο σημαίνει ότι ο υπολογιστής-πελάτης API μπορεί να αποθηκεύσει τις πληροφορίες για μελλοντική χρήση, ώστε να μην χρειάζεται να υποβάλλει ερωτήματα στη βάση δεδομένων κάθε φορά.
Για τον ιστό, το API πιθανότατα θα χρησιμοποιήσει τη μέθοδο HTTP για να επεξεργαστεί ένα αίτημα. Οι συνήθεις μέθοδοι HTTP είναι GET, POST, PUT και DELETE. Στο παράδειγμα της μηχανής αναζήτησης, το RESTful API θα χρησιμοποιήσει τη μέθοδο HTTP για να αποκτήσει τα δεδομένα ερωτημάτων αναζήτησης από τη βάση δεδομένων μηχανών αναζήτησης για να εμφανίσει τα αποτελέσματα αναζήτησης.
Ένα άλλο παράδειγμα θα ήταν μια αναζήτηση χρήστη Twitter. Αν βάλετε τη διεύθυνση URL www.twitter.com/realDonaldTrump σε ένα πρόγραμμα περιήγησης, το πρόγραμμα περιήγησης θα χρησιμοποιήσει το HTTP για να αποκτήσει τα δεδομένα του Donald Trump από το Twitter και να το εμφανίσει σε εσάς. Καθώς τα ονόματα χρηστών του Twitter είναι μοναδικά, το ερώτημα θα επιστρέψει τις λεπτομέρειες στο πρόγραμμα περιήγησής σας.
Το RESTful API είναι ένας μάλλον κομψός τρόπος ανταλλαγής πληροφοριών χωρίς να επηρεάζεται η απόδοση του διακομιστή ή να αποδίδεται πολύ μακριά. Αυτό το σεμινάριο απλά γρατζουνίζει την επιφάνεια του πώς λειτουργούν και ενσωματώνεται στον ιστό, αλλά θα πρέπει να σας δώσει μια βασική ιδέα για το τι συμβαίνει.
