rest api tutorial rest api architecture
Σε αυτό το σεμινάριο, θα μάθουμε για το REST API, τις Υπηρεσίες Ιστού, την Αρχιτεκτονική του REST API, τους περιορισμούς του API REST και τον τρόπο δοκιμής ενός API χρησιμοποιώντας το POSTMAN:
Προϋποθέσεις: Βασικές γνώσεις των Υπηρεσιών Ιστού.
Ελεγχος εδώ για να έχετε μια σαφή κατανόηση των Υπηρεσιών Ιστού.
Τι θα μάθετε:
Τι είναι το REST API;
Το API είναι απλώς μια διεπαφή, η οποία χρησιμοποιείται από στοιχεία λογισμικού για επικοινωνία μεταξύ τους. Μια υπηρεσία είναι μια λειτουργία που είναι καλά καθορισμένη, αυτόνομη και δεν εξαρτάται από άλλες υπηρεσίες.
Η Υπηρεσία Ιστού είναι ένας τύπος API, σχεδόν όλοι λειτουργούν μέσω HTTP. Όταν ένα Web API αναπτύσσεται χρησιμοποιώντας REST Architecture τότε ονομάζεται REST Web API.
Από τώρα, υπάρχουν δύο τύποι Web Services,
- ΣΑΠΟΥΝΙ
- ΥΠΟΛΟΙΠΟ
Διαφορά μεταξύ σαπουνιού και REST
ΣΑΠΟΥΝΙ | ΥΠΟΛΟΙΠΟ |
---|---|
Μπορούμε να χρησιμοποιήσουμε μόνο μορφή XML για να στείλουμε τα δεδομένα στο σώμα αιτήματος | Μπορούμε να έχουμε μορφή XML, JSON κ.λπ. για την αποστολή του αιτήματος. |
Είναι ένα πρωτόκολλο | Είναι στυλ αρχιτεκτονικής και ανεξάρτητο από οποιοδήποτε πρωτόκολλο, το REST μπορεί να χρησιμοποιεί SOAP Web Services |
Δηλώνει το πρωτόκολλο απλού αντικειμένου πρόσβασης | Αποτελεί αντιπροσωπευτική μεταβίβαση κράτους |
Χρησιμοποιεί διεπαφές υπηρεσίας για να εκθέσει την επιχειρηματική λογική. | Χρησιμοποιεί URI για να αποκαλύψει τη λογική της επιχείρησης. |
Το SOAP έχει ένα αυστηρό πρότυπο που πρέπει να ακολουθείται. | Δεν υπάρχει τέτοιο αυστηρό πρότυπο που να ακολουθείται από το REST. Ωστόσο, ο χρήστης μπορεί να ακολουθήσει λίγα πρότυπα, ενώ αναπτύσσει διαδικτυακή υπηρεσία χρησιμοποιώντας το REST. |
Απαιτεί περισσότερο εύρος ζώνης. | Είναι ελαφρύ. |
Μπορεί να καθορίσει τη δική του ασφάλεια. | Η REST κληρονομεί τα μέτρα ασφαλείας από τη μεταφορά. |
Το καλύτερο παράδειγμα είναι το Google, AMAZON | Το καλύτερο παράδειγμα είναι το YAHOO, LINKEDIN, AMAZON |
Το SOAP χρησιμοποιεί πρωτόκολλο HTTP, SMTP κ.λπ. | Το REST βασίζεται μόνο σε HTTP. |
Οι Κανόνες για δεσμευτικό μήνυμα, λειτουργίες κ.λπ. γράφονται στο WSDL | Το REST ακολουθεί τη μορφή WADL για να περιγράψει τη λειτουργικότητα που προσφέρουν οι υπηρεσίες Ιστού |
Είναι τυποποιημένο. | Οι υπηρεσίες REST δεν είναι τυποποιημένες. |
Απαιτεί περισσότερο χρόνο εκμάθησης λόγω των υφιστάμενων κανόνων, δεσμευτικών κ.λπ. | Απαιτεί λιγότερο χρόνο για να μάθει λόγω της απλότητάς του. |
Γιατί να επιλέξετε REST Over SOAP;
Ακολουθούν τα σημεία που εξηγούν τους λόγους για να επιλέξετε REST μέσω SOAP.
- Είναι πολύ καλό για την ανάπτυξη και δοκιμή API Ιστού.
- Το REST απαιτεί μικρότερο εύρος ζώνης.
- Μπορούμε να χρησιμοποιήσουμε το AJAX για τα διαδικτυακά API που βασίζονται σε REST.
- Απαιτεί μικρότερο κόστος ανάλυσης.
- Το μέγεθος ωφέλιμου φορτίου που δημιουργήθηκε από την JSON είναι μικρότερο σε μέγεθος.
Υπάρχουν πολλοί πελάτες / εργαλεία διαθέσιμα μέσω του διαδικτύου, το οποίο μας επιτρέπει να καταναλώνουμε υπηρεσίες RESTful Web.
Αυτοί είναι:
- Ταχυδρόμος
- Προηγμένος πελάτης ανάπαυσης
- Πελάτης DHC Rest
- Αιτών
- Αυπνία
- Υπεύθυνος
- Αφίσα
Γιατί ταχυδρόμος;
- Εμφανίζει όλες τις διαθέσιμες επιλογές.
- Ο Ταχυδρόμος έχει ένα επιπλέον χαρακτηριστικό (γνωστό ως Runner).
- Φιλικό προς το χρήστη περιβάλλον εργασίας και εύκολο στη χρήση.
- Μεγαλύτερη κοινοτική ομάδα / μέλη.
Αρχιτεκτονική API REST
Είναι κυρίως η αρχιτεκτονική του Διαδικτύου σε αρχιτεκτονικό στιλ λογισμικού. Είναι για κατανεμημένα συστήματα υπερμέσων. Ένα RESTful API εκμεταλλεύεται άμεσα τις μεθοδολογίες HTTP που ορίζονται από το πρωτόκολλο RFC 2616.
Λίγοι ορισμοί
ΦΩΤΙΑ σημαίνει διασύνδεση προγραμματισμού εφαρμογών. Είναι ένα σύνολο ορισμών υπορουτίνας, πρωτοκόλλων και εργαλείων για τη δημιουργία του λογισμικού της εφαρμογής.
Υπηρεσίες διαδικτύου είναι ορισμένοι κωδικοί προγράμματος που περιέχουν δεδομένα / ενσωματωμένες μεθόδους. Αυτά αναπτύσσονται από τον οργανισμό μέσω Διαδικτύου για να επικοινωνούν με χρήστες, εφαρμογές τρίτων, κ.λπ. Για την επικοινωνία των μηνυμάτων, ως επί το πλείστον η XML χρησιμοποιείται ως σύστημα ανταλλαγής μηνυμάτων. Το XML κωδικοποιεί απλώς όλες τις επικοινωνίες μεταξύ χρηστών και εφαρμογών.
HTTP σημαίνει Hypertext Transfer Protocol, που χρησιμοποιείται από το World Wide Web. Καθορίζει τον τρόπο μορφοποίησης και μετάδοσης των μηνυμάτων, καθώς και τις ενέργειες που πραγματοποιούν οι διακομιστές και τα προγράμματα περιήγησης στο Web ως απάντηση σε διάφορες εντολές.
Αρχιτεκτονικό στυλ, Αυτά χαρακτηρίζονται από τα χαρακτηριστικά που χρησιμοποιούνται για τη δημιουργία μιας δομής και ακόμη και την καθιστούν μοναδική. Τα στυλ είναι δύο τύπων: Πολυεπίπεδη και ομοιόμορφη διεπαφή.
ΜΙΣΩ : Επίσης γνωστό ως Uniform Resource Identifier. Προσδιορίζει έναν πόρο (έγγραφο κειμένου, αρχείο εικόνας κ.λπ.).
Διεύθυνση URL: Επίσης γνωστό ως Uniform Resource Locator. Είναι ένα υποσύνολο των URI, που περιλαμβάνει μια τοποθεσία δικτύου.
ΔΟΧΕΙΟ : Επίσης γνωστό ως Uniform Resource Name είναι ένα υποσύνολο URI, το οποίο περιλαμβάνει ένα όνομα εντός ενός δεδομένου χώρου, αλλά όχι τοποθεσία.
Για παράδειγμα,
http://elearning.com/amazon/restapi.html#books
Εδώ, στο παραπάνω παράδειγμα
ΜΙΣΩ : http://elearning.com/amazon/restapi.html#posts
Διεύθυνση URL : http://elearning.com/amazon/restapi.html
ΔΟΧΕΙΟ : elearning.com/amazon/restapi.html#posts
καλύτερο πρόγραμμα παρακολούθησης θερμοκρασίας CPU
Ως εκ τούτου, μια διεύθυνση URL είναι ένα URI που προσδιορίζει έναν πόρο και παρέχει επίσης τα μέσα εντοπισμού του πόρου περιγράφοντας τον τρόπο πρόσβασης σε αυτόν.
Επομένως, κάθε διεύθυνση URL μπορεί να είναι URI, αλλά το αντίθετο δεν ισχύει.
Μια υπηρεσία RESTful εκτίθεται μέσω ενός Uniform Resource Locator (URL). Αυτό είναι ένα λογικό όνομα που διαχωρίζει την ταυτότητα του πόρου από αυτό που γίνεται αποδεκτό ή επιστρέφεται.
Ένα δείγμα REST Architecture:
Περιορισμοί API REST
Μια διεπαφή API λέγεται ότι είναι RESTful εάν πληροί τους ακόλουθους περιορισμούς:
- Ομοιόμορφη διεπαφή: Αυτό σημαίνει, ανεξάρτητα από οποιονδήποτε πελάτη χρησιμοποιούμε, η βασική ιδέα της εφαρμογής και της χρήσης των υπηρεσιών REST θα παραμείνει η ίδια. Όλα τα REST API που έχουν αναπτυχθεί πρέπει να έχουν μια κοινή προσέγγιση για την ανάπτυξη.
- Ανιθαγενείς: Αυτό σημαίνει ότι δεν θα αποθηκευτεί συνεδρία. Έτσι, ο διακομιστής δεν θα αποθηκεύει κανένα αίτημα HTTP που αποστέλλεται από έναν πελάτη. Επομένως για έναν διακομιστή, κάθε αίτημα HTTP είναι ένα νέο αίτημα. Ανεξάρτητα από το πόσες φορές υποβάλλεται το αίτημα ή ο πελάτης είναι ο μοναδικός ή όχι.
- Κρυφή μνήμη: Η προσωρινή αποθήκευση σημαίνει πόσο συχνά γίνεται πρόσβαση σε δεδομένα και αποκρίσεις από μια προσωρινή μνήμη αντί του διακομιστή. Η έννοια της προσωρινής αποθήκευσης ισχύει κατά την αποστολή του αιτήματος του πελάτη. Έτσι, η βελτίωση της απόδοσης γίνεται από την πλευρά του πελάτη.
- Διακομιστή-πελάτη: Ο διακομιστής και οι πελάτες είναι ανεξάρτητοι μεταξύ τους όσον αφορά την εφαρμογή. Ένας πελάτης πρέπει να στείλει μόνο το αίτημα URI μαζί με ή χωρίς έλεγχο ταυτότητας. Στη συνέχεια, ο διακομιστής κάνει το υπόλοιπο βήμα, δηλαδή μια απάντηση.
- Πολυεπίπεδο σύστημα: Ο πελάτης μπορεί να στείλει μόνο το αίτημα στον διακομιστή ως URI πόρου. Ωστόσο, πριν από την αποστολή του αιτήματος στον διακομιστή, υπάρχει REST API, το οποίο μας παρέχει την αρχιτεκτονική συστήματος με στρώσεις. Αυτό σημαίνει ότι μπορούμε να έχουμε API που αναπτύσσεται σε έναν διακομιστή, τα δεδομένα αναπτύσσονται σε έναν άλλο διακομιστή και τον έλεγχο ταυτότητας σε έναν άλλο διακομιστή.
- Κωδικός κατ 'απαίτηση (προαιρετικό): Μερικές φορές ένας πελάτης μπορεί να χρειαστεί περισσότερα από την απάντηση. Το REST API μας επιτρέπει να στείλουμε έναν εκτελέσιμο κώδικα ως απόκριση (αυτός ο εκτελέσιμος κώδικας μπορεί να είναι widget ή οποιοδήποτε στοιχείο ελέγχου). Ωστόσο, είναι εντελώς προαιρετικό εάν έχουμε ενεργοποιήσει / εφαρμόσει αυτήν τη δυνατότητα.
Λίγες περισσότερες ορολογίες που σχετίζονται με το Rest API:
Τελικό σημείο : Είναι η αναφορά σε μια διεύθυνση URL που δέχεται αιτήματα ιστού. Μια διαδικτυακή υπηρεσία είναι διευθύνσιμη χρησιμοποιώντας αναφορά τελικού σημείου.
Για παράδειγμα, Http: // {Domain_URL} //librarygr/libraries.xml
Πόροι : Είναι ένα υποσύνολο του Endpoint. Κανονικά τα Endpoints εκθέτουν ορισμένα αντικείμενα τα οποία μπορούν να καταναλωθούν μέσω διαδικτυακών υπηρεσιών. Οι πόροι είναι συγκεκριμένα το τμήμα ενός αντικειμένου πάνω από το URI Endpoint.
Για παράδειγμα, Http: // {Domain_URL} // api / pg_library / ορνιθολογία / κύκνος
Φορτίο επί πληρωμή : Το ωφέλιμο φορτίο είναι οι πληροφορίες που αποστέλλονται κατά την εκτέλεση της λειτουργίας POST ή PUT. Αυτές είναι οι πληροφορίες που καθορίζονται στο κύριο μέρος του αιτήματος HTTP.
Τα ωφέλιμα φορτία αποστέλλονται σε μορφή JSON, Για παράδειγμα,
{ Id: 1, name:'sam', phones:({title:'mobile',number:9898989899}, {title:'home',number:8888888888}) }
Παράμετροι :
Μπορούμε να περάσουμε τις παραμέτρους με δύο τρόπους.
Παράμετροι ερωτήματος : Χρήσιμο για πρόσβαση σε ζεύγη κλειδιών / τιμών στη συμβολοσειρά ερωτημάτων της διεύθυνσης URL (το τμήμα μετά το?)
Καλύτερο παράδειγμα
http://jsonplaceholder.typicode.com/posts/?id=3
Παράμετροι διαδρομής: Είναι χρήσιμο να αντιστοιχίσετε ένα μέρος του URL ως παράμετρο. Μπορούμε να στείλουμε πληροφορίες ως παράμετρος διαδρομής με τον ακόλουθο τρόπο: Form-data, x-www-form-urlencoded, raw, binary.
Καλύτερο παράδειγμα:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments
Τι είναι το POSTMAN;
Το POSTMAN είναι ένας πελάτης REST, απλώς μια εφαρμογή που συνοδεύει το πρόγραμμα περιήγησης Chrome. Αναπτύσσεται, έχοντας κατά νου τους προγραμματιστές να κάνουν ευκολότερη τη δοκιμή κλήσεων API. Έχει το δικό του GUI για αποστολή αιτημάτων API και ανάγνωση απαντήσεων API.
Μπορούμε να εκτελέσουμε τις δοκιμές REST API τόσο με το χέρι όσο και με αυτοματοποίηση.
Στην ακόλουθη ενότητα, θα μάθουμε, πώς να δοκιμάσουμε το Web API χειροκίνητα χρησιμοποιώντας το πρόγραμμα-πελάτη POSTMAN.
Πώς να δοκιμάσετε το API με τον Ταχυδρόμο;
Εγκατάσταση
Πρέπει να έχουμε πρόσβαση στο Chrome Web store . Στην αναζήτηση του προγράμματος περιήγησης Chrome για τον Ταχυδρόμο. Κάντε κλικ εδώ για να το προσθέσετε στο κουμπί Chrome.
Μόλις εγκατασταθεί με επιτυχία, μπορούμε να βρούμε το POSTMAN στην εφαρμογή Chrome. Απλώς κάντε κλικ στο εικονίδιο Ταχυδρόμος για να ανοίξετε το POSTMAN. Θα χρειαστεί χρόνος για να ξεκινήσει για πρώτη φορά.
Ανατρέξτε στην ακόλουθη διεύθυνση URL για να κατανοήσετε τον τρόπο χρήσης ΤΑΧΥΔΡΟΜΟΣ ως εργαλείο.
Προαπαιτούμενα: Απαιτείται σύνδεση στο Διαδίκτυο για πρόσβαση σε υπηρεσίες που αναπτύσσονται μέσω του διαδικτύου. Σε περίπτωση πρόσβασης στις υπηρεσίες που αναπτύσσονται τοπικά, βεβαιωθείτε ότι έχετε επαρκή δικαιώματα, παρέχονται δικαιώματα στον χρήστη που εκτελεί δοκιμή μέσω POSTMAN.
URI πόρων Dummy: Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε ένα εικονικό URI αντί για ένα πραγματικό URI. Θα μας δώσει τις απαντήσεις όπως επιθυμείται αλλά δεν μπορούν να γίνουν αλλαγές στον διακομιστή.
http://jsonplaceholder.typicode.com
Βήματα πλοήγησης :
# 1) Μόλις ξεκινήσει η εφαρμογή POSTMAN, μπορούμε να δούμε τη σελίδα Αίτημα από προεπιλογή.
καλύτερη εφαρμογή λήψης μουσικής για Android
#δύο) Μπορούμε να δούμε τη λίστα των κλήσεων API κάνοντας κλικ στο αναπτυσσόμενο μενού. Επιλέγοντας οποιαδήποτε από τις επιλογές από το αναπτυσσόμενο μενού, μπορούμε να ζητήσουμε την κλήση API στον διακομιστή.
# 3) Κάντε κλικ στο κουμπί Μεταβλητή περιβάλλοντος στην επάνω δεξιά γωνία ενός POSTMAN. Ορίστε το συγκεκριμένο περιβάλλον, όπου θα δοκιμάσουμε. Μπορούμε να το αποθηκεύσουμε για μελλοντική εκτέλεση.
# 4) Το αποθηκευμένο περιβάλλον είναι προσβάσιμο από το αναπτυσσόμενο μενού Περιβάλλον.
# 5) Στη συνέχεια, πρέπει να ορίσετε το URI πόρου στο δεδομένο πλαίσιο.
# 6) Κάντε κλικ στο κουμπί Params δίπλα στο πεδίο URI πόρων για να καθορίσετε τις παραμέτρους ερωτήματος
# 7) Κάντε κλικ στην καρτέλα Εξουσιοδότηση, επιλέξτε τον τύπο Εξουσιοδότηση από το αναπτυσσόμενο μενού και ορίστε οποιαδήποτε επιθυμητή Εξουσιοδότηση ή, μπορείτε απλά να την αφήσετε ως Χωρίς Εξουσιοδότηση.
# 8) Κάντε κλικ στην καρτέλα Headers και ορίστε τις απαιτούμενες κεφαλίδες, όπως ο τύπος περιεχομένου
# 9) Κάντε κλικ στην καρτέλα Σώμα, επιλέξτε το κουμπί επιλογής δεδομένων-δεδομένων. Καθορίστε τις απαιτούμενες παραμέτρους σώματος που πρέπει να σταλούν μαζί με τη διεύθυνση URL του αιτήματος
# 10) Κάντε κλικ στην καρτέλα Σώμα, επιλέξτε το κουμπί επιλογής x-www-form-urlencoded. Καθορίστε τις απαιτούμενες παραμέτρους σώματος που πρέπει να σταλούν ως κωδικοποιημένες, μαζί με τη διεύθυνση URL του αιτήματος
#έντεκα) Κάντε κλικ στην καρτέλα Σώμα, επιλέξτε το κουμπί επιλογής «ακατέργαστο». Καθορίστε τις απαιτούμενες παραμέτρους σώματος που πρέπει να σταλούν μαζί με τη διεύθυνση URL του αιτήματος. Αυτό είναι σε πραγματική μορφή JSON
# 12) Κάντε κλικ στην καρτέλα Σώμα, επιλέξτε το κουμπί επιλογής «δυαδικό». Καθορίστε τις απαιτούμενες παραμέτρους σώματος (συνήθως ως αρχείο) που πρέπει να σταλούν μαζί με τη διεύθυνση URL του αιτήματος.
# 13) Μόλις διαμορφώσουμε όλες τις λεπτομέρειες όπως ορίζονται παραπάνω, μπορούμε τώρα να «στείλουμε» το αίτημα. Επίσης, μπορούμε να αποθηκεύσουμε το αίτημα αποστολής ως request.json (ενδέχεται να αλλάξουμε το όνομα του αιτήματος).
# 14) Μπορούμε να δούμε τη λίστα των αιτημάτων που υποβλήθηκαν, στο αριστερό πλαίσιο κάτω από την καρτέλα Ιστορικό.
#δεκαπέντε) Επίσης, μπορούμε να αποθηκεύσουμε όλες τις λεπτομέρειες που σχετίζονται με το Αίτημα (URI, Εξουσιοδότηση, Παράμετροι, σώμα κ.λπ.) κάτω από μια υπάρχουσα Συλλογή ή μια νέα Συλλογή. Μόλις προστεθεί το Αίτημα στη Συλλογή, μπορούμε να το εξαγάγουμε (να το κοινοποιήσουμε) και ακόμη και να εισάγουμε οποιαδήποτε υπάρχουσα Συλλογή.
Μπορούμε να μοιραστούμε τη Συλλογή ως σύνδεσμος ή ως ομαδική βιβλιοθήκη με έναν απλό κώδικα που δημιουργείται. Μπορούμε πάντα να τρέξουμε ολόκληρη τη σουίτα συλλογής.
Ακόμη και μπορούμε να δημοσιεύσουμε τη διεύθυνση URL συλλογής στον ιστό, ώστε οποιοσδήποτε έχει πρόσβαση στη δημοσιευμένη διεύθυνση URL να έχει πρόσβαση στη συλλογή και να καταναλώνει τις υπηρεσίες που παρέχονται από το Web API.
Υπάρχει μια δυνατότητα σύνδεσης στο POSTMAN, η οποία μας επιτρέπει να αποθηκεύουμε το ιστορικό, τις συλλογές, τα περιβαλλοντικά δεδομένα, την τοπική αποθήκευση, ώστε να μπορούμε να το αποθηκεύσουμε και να έχουμε πρόσβαση σε αυτό οπουδήποτε, οποτεδήποτε μετά την είσοδο στο POSTMAN.
συχνές ερωτήσεις και απαντήσεις στη συνέντευξη
Δρομέας
Χρησιμοποιείται για την εκτέλεση των πόρων που υπάρχουν στο φάκελο Συλλογές.
συμπέρασμα
Οι περισσότερες εταιρείες υιοθετούν το αρχιτεκτονικό στυλ REST για την ανάπτυξη / υλοποίηση διαδικτυακών υπηρεσιών, επειδή είναι μια απλή και φιλική προς το χρήστη διεπαφή, που απαιτεί λιγότερη εκπαίδευση για τα υπάρχοντα / νέα μέλη του έργου. Οι οργανισμοί εξετάζουν το REST μαζί με τις υπάρχουσες διαδικτυακές υπηρεσίες τους.
Διαβάστε επίσης = >> Εκπαιδευτικό API Flask
Στο επόμενο σεμινάριο αυτής της σειράς REST API, θα συζητήσουμε διαφορετικούς τύπους κωδικών απόκρισης, τύπους αιτημάτων REST κ.λπ.
Συνιστώμενη ανάγνωση
- Κωδικοί απόκρισης API ανάπαυσης και τύποι αιτημάτων ανάπαυσης
- Tutorial POSTMAN: Δοκιμή API χρησιμοποιώντας το POSTMAN
- Δοκιμή REST API με αγγούρι με προσέγγιση BDD
- 10 καλύτερα εργαλεία δοκιμών API το 2021 (SOAP και REST API Testing Tools)
- Δοκιμή REST API με Spring RestTemplate και TestNG
- Πώς να αυτοματοποιήσετε αιτήματα API χρησιμοποιώντας το υπόλοιπο και το Jenkins
- Τρόπος δημιουργίας έργου REST στο SoapUI Pro: Tutorial # 13
- Parasoft SOAtest Tutorial: Εργαλείο δοκιμών API χωρίς script