Προγραμματισμός

RESTful – Γρήγορος οδηγός για αρχάριους

30 Οκτωβρίου 2021

Εάν επιθυμείτε να κατασκευάσετε ένα διεπαφή προγράμματος εφαρμογής (API) για εφαρμογές web, χρησιμοποιείται το RESTful. Τι είναι η διεπαφή προγράμματος εφαρμογής (API); Μια διεπαφή προγράμματος εφαρμογής είναι ένας μεσολαβητής μεταξύ οποιωνδήποτε δύο εφαρμογών λογισμικού. Επιτρέπει σε δύο εφαρμογές λογισμικού να επικοινωνούν μεταξύ τους με ασφάλεια και ασφάλεια. Οι τυπικές εφαρμογές API στην καθημερινή ζωή είναι η χρήση του Facebook, η χρήση εφαρμογών συνομιλίας ή η χρήση μιας εφαρμογής πρόγνωσης καιρού στο κινητό τηλέφωνο.

Ας παρατηρήσουμε ένα απλό παράδειγμα για να καταλάβουμε τι ακριβώς είναι ένα API; Εξετάστε το παράδειγμα ενός εστιατορίου. Πηγαίνουμε σε ένα εστιατόριο και τρώμε το φαγητό της επιλογής μας. Αυτό που κάνουμε είναι να παρατηρούμε την κάρτα μενού και να ενημερώνουμε τον σερβιτόρο για τα επιλεγμένα σας στοιχεία από το μενού. Στη συνέχεια, ο σερβιτόρος ενημερώνει την παραγγελία σας στο τμήμα κουζίνας και το φαγητό σας ετοιμάζεται. Αφού το φαγητό είναι έτοιμο, ο σερβιτόρος το σερβίρει στο τραπέζι σας για εσάς. Εδώ, ο σερβιτόρος είναι η διεπαφή ανάμεσα σε εσάς και το τμήμα κουζίνας. Το ίδιο συμβαίνει όταν δύο συστήματα επικοινωνούν.

Μια διεπαφή προγράμματος εφαρμογής (API) κατηγοριοποιείται σε τέσσερις κύριους τύπους, OpenAPI, Partner API, Internal API και Composite API. Τα OepnAPI επιτρέπεται να έχουν πρόσβαση σε όλους, καθώς είναι διαθέσιμα δημόσια. Στα Partner API, ένας συγκεκριμένος χρήστης χρειάζεται το κατάλληλο δικαίωμα πρόσβασης σε αυτά, καθώς δεν έχουν αναπτυχθεί για δημόσια χρήση. Τα εσωτερικά API είναι ειδικά σχεδιασμένα για εσωτερική χρήση της εταιρείας. Τέλος, τα σύνθετα API χρησιμοποιούνται γενικά για την επιτάχυνση των λειτουργιών και της απόδοσης της εταιρείας.

Ένας άλλος τύπος API είναι τα API υπηρεσιών ιστού. Υπάρχουν τέσσερα κύρια API υπηρεσιών ιστού, το SOAP, το XML-RPC, το JSON-RPC και το REST. SOAP υπονοεί α Πρωτόκολλο πρόσβασης απλού αντικειμένου , το οποίο μεταφέρει δεδομένα χρησιμοποιώντας τη μορφή XML. Το SOAP API περιλαμβάνει τη χρήση του Γλώσσα ορισμού υπηρεσιών Ιστού (WSDL) για τον καθορισμό της διεπαφής του. Ένα άλλο API υπηρεσίας ιστού είναι XML-RPC . Όπως υποδηλώνει το όνομά του, χρησιμοποιούσε τη φόρμα XML για κοινή χρήση δεδομένων. Το XML-RPC API είναι απλούστερο και πιο προσιτό από το SOAP API.

Το επόμενο API υπηρεσίας ιστού είναι JSON-RPC . Είναι το ίδιο API με το XML, αλλά χρησιμοποιεί μορφή JSON για κοινή χρήση δεδομένων. Τέλος, το REST API είναι διαφορετικό από τα τρία παραπάνω. Είναι η συλλογή αρχιτεκτονικών προτύπων. Το REST API ονομάζεται επίσης RESTful API. Είναι ένα από τα κοινώς χρησιμοποιούμενα API υπηρεσιών web, καθώς απαιτεί εξαιρετικά λιγότερο εύρος ζώνης.

Σε αυτό το άρθρο, θα δούμε έναν γρήγορο οδηγό για την υπηρεσία web RESTful. Αυτή η ανάρτηση θα σας βοηθήσει να μάθετε τα πάντα για την υπηρεσία ιστού RESTful. Έχουμε εξηγήσει τις έννοιες της υπηρεσίας Ιστού RESTful πιο ξεκάθαρα με απλά παραδείγματα. Ένα πράγμα που πρέπει να θυμάστε πριν ξεκινήσετε καταλάβετε τους ΑΝΑΣΤΑΤΟΥΣ Το API είναι ότι πρέπει να έχετε καλύτερη γνώση της γλώσσας προγραμματισμού Java, HTML, CSS, AJAX και Επεξεργαστή κειμένου, καθώς το RESTful είναι μια υπηρεσία web για την ανάπτυξη εφαρμογών Ιστού. Λοιπόν, ας ξεκινήσουμε το σεμινάριο RESTful API.

Πίνακας περιεχομένων

Τι είναι το RESTful Web Service API;

Πριν μάθουμε τι είναι το RESTful API, θα ξέρουμε πρώτα τι είναι στην πραγματικότητα η υπηρεσία Ιστού. ΕΝΑ υπηρεσία Ιστού είναι ένα σύνολο προτύπων ή αρχών που απαιτούνται για την κοινή χρήση ή την ανταλλαγή δεδομένων μεταξύ συστημάτων. Σήμερα, χρησιμοποιούμε πολλές εφαρμογές στα κινητά τηλέφωνα και τους επιτραπέζιους υπολογιστές μας. Αυτές οι εφαρμογές είναι γραμμένες σε πολλές γλώσσες προγραμματισμού και εξακολουθούν να λειτουργούν σε διαφορετικά λειτουργικά συστήματα. Μια υπηρεσία Ιστού σάς δίνει τη δυνατότητα πρόσβασης σε μια συγκεκριμένη εφαρμογή λογισμικού σε διαφορετικά λειτουργικά συστήματα.

Το RESTful API είναι ένα API υπηρεσίας ιστού. Περιλαμβάνει μια συλλογή αρχιτεκτονικών προτύπων και χρησιμοποιεί ένα πρωτόκολλο HTTP για πρόσβαση και χρήση συγκεκριμένων δεδομένων. REST υπονοεί Μεταβίβαση Αντιπροσωπευτικού Κράτους . Στο RESTful API, κάθε στοιχείο που εμπλέκεται αντιμετωπίζεται ως πόρος. Μπορείτε να αποκτήσετε πρόσβαση σε αυτούς τους πόρους χρησιμοποιώντας το Πρωτόκολλο HTTP μεθόδους.

Υπάρχει ένας διακομιστής και ένας πελάτης που εμπλέκονται στο RESTful API. Οι πελάτες του REST API μπορούν να έχουν πρόσβαση στους πόρους που παρέχονται από τον διακομιστή και να τους χειρίζονται. Κάθε πόρος έχει ξεχωριστό URI ή καθολικό αναγνωριστικό. Χρησιμοποιώντας το URI ή το καθολικό αναγνωριστικό, μπορούμε να αναγνωρίσουμε τους πόρους στο RESTful API. Το URI υποδηλώνει α Ενιαίο αναγνωριστικό πόρων . Μπορείτε να χρησιμοποιήσετε μορφές κειμένου, XML.JSON ή JSON στο REST API για την αναπαράσταση πόρων.

Η υπηρεσία ιστού RESTful χρησιμοποιείται συνήθως από καταναλωτές cloud, επιτρέποντάς τους να έχουν πρόσβαση και να διαχειρίζονται υπηρεσίες web. Το REST API χρησιμεύει ως μία από τις πιο επιθυμητές επιλογές για τη δημιουργία ενός ισχυρού API. Ένα API που έχει δημιουργηθεί χρησιμοποιώντας την αρχιτεκτονική REST επιτρέπει στους χρήστες να αλληλεπιδρούν με τις υπηρεσίες cloud με τρόπο διαχειρίσιμο. Μερικοί από τους δημοφιλείς ιστότοπους που χρησιμοποιούν την υπηρεσία web RESTful για τη δημιουργία των API τους είναι Υπηρεσίες Ιστού της Amazon (AWS), Twitter, LinkedIn και Google.

Λειτουργία του API RESTful Web Service

Παρατηρήσαμε μια σύντομη περιγραφή της υπηρεσίας web RESTful. Τώρα, ενημερώστε μας για τη λειτουργία του RESTful API. Το RESTful API αναλύει κάθε συναλλαγή μεταξύ οποιωνδήποτε δύο εφαρμογών σε πολλαπλές μικρότερες ενότητες. Εδώ, η συναλλαγή συνεπάγεται την ανταλλαγή δεδομένων ή πληροφοριών. Κάθε ενότητα περιέχει τις βασικές πληροφορίες της συναλλαγής. Ως εκ τούτου, οι προγραμματιστές αισθάνονται άνετα και ευέλικτοι στη δημιουργία ενός API για οποιαδήποτε εφαρμογή Ιστού.

Σήμερα, πολλές εταιρείες, όπως το Cloud Data Management Interface (CDMI), το AmazonS3, κ.λπ., προσφέρουν τα ιδιαίτερα μοντέλα τους για την ανάπτυξη ενός API. Υπάρχουν πολλές εντολές στην υπηρεσία web RESTful API για πρόσβαση σε πόρους. Η αναπαράσταση πόρων ορίζει την κατάσταση ενός συγκεκριμένου πόρου σε μια δεδομένη χρονική σήμανση.

Μέθοδοι HTTP στο API υπηρεσίας ιστού RESTful

Το API της υπηρεσίας web RESTful χρησιμοποιεί το πρωτόκολλο HTTP για πρόσβαση και χειρισμό πόρων. Υπάρχουν τέσσερις κύριες μέθοδοι HTTP που χρησιμοποιούνται στην υπηρεσία web RESTful, GET, PUT, POST, DELETE. Ας γνωρίσουμε εν συντομία καθεμία από αυτές τις μεθόδους HTTP.

    ΠΑΙΡΝΩ:Η μέθοδος GET επιτρέπει στους χρήστες να έχουν πρόσβαση στους πόρους του RESTful API. Όμως, δεν μπορούν να αλλάξουν ή να χειραγωγηθούν. Χρησιμοποιώντας τη μέθοδο GET, μπορείτε να διαβάσετε μόνο πόρους.ΒΑΖΩ:Η μέθοδος HTTP PUT σάς επιτρέπει να τροποποιήσετε τους πόρους ή να αλλάξετε την κατάστασή τους. Σας επιτρέπει επίσης να δημιουργήσετε έναν άλλο νέο πόρο.ΘΕΣΗ:Μπορείτε να χρησιμοποιήσετε τη μέθοδο POST για τη δημιουργία ενός νέου πόρου.ΔΙΑΓΡΑΦΩ:Η μέθοδος HTTP DELETE χρησιμοποιείται για τη διαγραφή του πόρου.

Το API της υπηρεσίας web RESTful υποστηρίζει διάφορες μορφές δεδομένων, όπως application/xml, application/json, application/x-www-form-urlencoded, application.x-web+xml και multipart/form-data.

Ιδιότητες και περιορισμοί αρχιτεκτονικής RESTful API

Ο Dr. Roy Fielding είναι ο προγραμματιστής του API της υπηρεσίας ιστού RESTful. Ακολουθούν ορισμένες σημαντικές ιδιότητες και περιορισμοί της αρχιτεκτονικής RESTful API.

Ιδιότητες του RESTful API

  1. Το RESTful API προσφέρει υψηλή απόδοση στους τελικούς χρήστες. Όταν ένας χρήστης κάνει κλικ σε οποιονδήποτε σύνδεσμο, του παρέχονται άμεσα αποτελέσματα. Και οι προγραμματιστές παρέχουν όλες τις υπηρεσίες στους χρήστες.
  2. Μια άλλη ιδιότητα του RESTful API είναι η επεκτασιμότητα. Το RESTful API παρέχει υπηρεσίες τακτικά παρά την αύξηση ή τη μείωση των χρηστών.
  3. Το RESTful API έχει ενιαία διεπαφή. Όλοι οι πόροι προσδιορίζονται χρησιμοποιώντας τα αντίστοιχα URI τους. Ως εκ τούτου, αυτή η ομοιόμορφη διεπαφή κάνει το RESTful API απλό.
  4. Η επόμενη ιδιότητα είναι η δυνατότητα τροποποίησης. Οποιαδήποτε αλλαγή στο σύστημα πρέπει να γίνεται με ευκολία και άνεση.
  5. Η αρχιτεκτονική RESTful API είναι εξαιρετικά φορητή και αξιόπιστη.

Αρχιτεκτονικοί περιορισμοί του RESTful API

Για οποιοδήποτε API υπηρεσίας web RESTful, πρέπει να ισχύουν οι παρακάτω έξι αρχιτεκτονικές προϋποθέσεις.

  1. Ο πρώτος αρχιτεκτονικός περιορισμός για το API της υπηρεσίας web RESTful είναι ότι θα πρέπει να χρησιμοποιεί μια ενιαία διεπαφή. Όλοι οι πόροι RESTful API θα πρέπει να αναγνωρίζονται χρησιμοποιώντας τα αντίστοιχα Uniform Resource Identifiers (URI). Η πρόσβαση και ο χειρισμός τους πρέπει να γίνεται μόνο μέσω των τεσσάρων μεθόδων HTTP, PUT, POST, GET και DELETE.
  2. Ο πελάτης και ο διακομιστής στο RESTful API θα πρέπει να έχουν ακριβή αναπαράσταση. Ο πελάτης χειρίζεται την ενιαία διεπαφή και τη συλλογή αιτημάτων. Από την άλλη πλευρά, ο διακομιστής ρυθμίζει την ασφάλεια, την πρόσβαση στα δεδομένα και τη διαχείριση του φόρτου εργασίας. Ο διακομιστής κρατά όλους τους πόρους και ο πελάτης ζητά πόρους από τον διακομιστή.
  3. Ένας άλλος αρχιτεκτονικός περιορισμός για το API της υπηρεσίας ιστού RESTful είναι οι λειτουργίες χωρίς πολιτεία. Ο πελάτης και ο διακομιστής στο RESTful API θα πρέπει να ακολουθούν λειτουργίες χωρίς κατάσταση. Όλες οι λειτουργίες διαχείρισης κατάστασης θα πρέπει να εκτελούνται από την πλευρά του πελάτη.
  4. Όλα τα API της υπηρεσίας ιστού RESTful θα πρέπει να εκτελούν προσωρινή αποθήκευση. Εάν αντιπροσωπεύεται ότι η προσωρινή αποθήκευση δεν είναι δυνατή, τότε μόνο η προσωρινή αποθήκευση δεν πρέπει να εκτελείται.
  5. Η αρχιτεκτονική μιας συγκεκριμένης εφαρμογής θα πρέπει να περιέχει τον διακομιστή σε πολλαπλά επίπεδα. Ένα μεμονωμένο επίπεδο δεν πρέπει να έχει πληροφορίες σχετικά με άλλα επίπεδα, εκτός από το άμεσο στρώμα του.
  6. Γενικά, ο διακομιστής στέλνει στατικές αναπαραστάσεις των πόρων στον πελάτη σε μορφή XML ή JSON. Θα πρέπει επίσης να μεταδίδει τον εκτελέσιμο κώδικα στον πελάτη όταν απαιτείται.

Στο επόμενο τμήμα, θα μάθουμε πώς να δημιουργήσουμε μια υπηρεσία Ιστού χρησιμοποιώντας τις μεθόδους HTTP. Θα χρησιμοποιήσουμε δύο μεθόδους HTTP, GET και POST, για τη δημιουργία διαχείρισης χρηστών. Ακολουθούν ορισμένες βασικές λειτουργίες που χρησιμοποιούνται:

  1. Χρησιμοποιώντας τη μέθοδο HTTP GET με ένα κενό σώμα POST, θα εμφανίσουμε μια λίστα που περιέχει ονόματα χρηστών. Πάρτε ένα Uniform Resource ID as /Χρήστης/Υπηρεσία/χρήστες .
  2. Αργότερα, θα προσθέσουμε τα στοιχεία κάθε χρήστη σε μια λίστα. Για το σκοπό αυτό, θα χρησιμοποιήσουμε τη μέθοδο HTTP POST, με JSON String στο σώμα POST. Χρησιμοποιήστε το URI ως /User/Service/addUser .
  3. Τέλος, θα εμφανίσουμε τα στοιχεία ξεχωριστών χρηστών χρησιμοποιώντας τη μέθοδο HTTP GET. Διατηρήστε το σώμα POST κενό και χρησιμοποιήστε το URI ως /User/Service/getUser/:id .

Ρύθμιση περιβάλλοντος για RESTful Web Services

Για εργασία με την υπηρεσία web RESTful, θα χρησιμοποιήσουμε το Jersey Framework . Αυτό το πλαίσιο υλοποιεί την τυπική προδιαγραφή, που ονομάζεται JAX-RS 2.0 API. Χρησιμοποιώντας αυτήν την προδιαγραφή, μπορούμε να δημιουργήσουμε υπηρεσίες web RESTful. Πριν προχωρήσουμε προς το Jersey Framework, θα μάθουμε να ρυθμίζουμε το περιβάλλον Eclipse, Tomcat και JDK στο σύστημα του υπολογιστή σας. Έχουμε εξηγήσει τη ρύθμιση και των τριών περιβαλλόντων στο σύστημα με ακριβή και απλά βήματα.

Πώς να ρυθμίσετε το Java Development Kit (JDK);

ο Java Development Kit (JDK) είναι ένα από τα βασικά πακέτα που χρησιμοποιούνται για την εκτέλεση κώδικα Java. Το πακέτο JDK σε Java επιτρέπει στους χρήστες να γράφουν τα προγράμματα Java. Πρέπει να κατεβάσετε αυτό το πακέτο, που ονομάζεται JavaSE, από αυτό δικτυακός τόπος :

Μετά τη λήψη, εγκαταστήστε το με τη βοήθεια των οδηγιών που παρέχονται. Μόλις τελειώσετε, πρέπει να διορθώσετε τις μεταβλητές περιβάλλοντος PATH και JAVA_HOME στο σημείο όπου υπάρχουν τα «java» και «javac». Γενικά, το «java» υπάρχει στο java_install_dir/bin και το «javac» υπάρχει στο «java_install_dir».

Για να διορθώσετε τις μεταβλητές περιβάλλοντος PATH και JAVA_HOME στα συστήματα Windows XP, NT ή 2000, μεταβείτε στο 'Ο Υπολογιστής μου, κάντε δεξί κλικ σε αυτό και κάντε κλικ στο 'Ιδιότητες'. Θα παρατηρήσετε την καρτέλα 'Για προχωρημένους'. Κάντε κλικ σε αυτήν. και αργότερα κάντε κλικ στην επιλογή 'Μεταβλητές περιβάλλοντος'. Αλλάξτε τις μεταβλητές περιβάλλοντος PATH και JAVA_HOME με τη θέση 'java' και 'javac' στο σύστημα και κάντε κλικ στο κουμπί 'OK'. Η ρύθμιση της μεταβλητής περιβάλλοντος έχει ολοκληρωθεί.

Για συστήματα Linux και Solaris, ακολουθήστε τα παρακάτω βήματα. Σκεφτείτε ότι χρησιμοποιείτε ένα κέλυφος C και έχετε κατεβάσει το αρχείο JavaSE στη θέση /usr/local/jdk1.7.9_75. Ενημερώστε το αρχείο «.cshrc» με τις παρακάτω εντολές:

|_+_|

Πώς να ρυθμίσετε το Eclipse IDE;

Το πρώτο πράγμα που πρέπει να ακολουθήσετε είναι να κατεβάσετε τα πιο πρόσφατα δυαδικά αρχεία του Eclipse από το επίσημό του δικτυακός τόπος .

Αφού πραγματοποιήσετε λήψη των πιο πρόσφατων δυαδικών αρχείων Eclipse, τοποθετήστε τα στη σωστή θέση στο σύστημά σας. Σκεφτείτε ότι έχουμε εντοπίσει τα δυαδικά αρχεία Eclipse στα συστήματα των Windows στο C:eclipse. Θα εντοπίσουμε τα δυαδικά αρχεία Eclipse στη θέση /usr/local/eclipse για το σύστημα Linux ή Unix. Αφού το τοποθετήσετε στη σωστή θέση, στερεώστε τη μεταβλητή PATH στο σημείο όπου έχετε κρατήσει τα δυαδικά αρχεία Eclipse.

Για να ξεκινήσετε το Eclipse, κάντε διπλό κλικ στο αρχείο eclipse.exe ή μπορείτε να πληκτρολογήσετε την παρακάτω εντολή στη γραμμή εντολών των Windows.

|_+_|

Εάν χρησιμοποιείτε το Eclipse στο σύστημα Linux ή Solaris, χρησιμοποιήστε την παρακάτω εντολή για να το ξεκινήσετε.

|_+_|

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

Πώς να ρυθμίσετε το Apache Tomcat;

Εδώ, θα καταλάβουμε πώς να εγκαταστήσετε και να ρυθμίσετε το περιβάλλον του συστήματός σας για το Apache Tomcat. Αρχικά, πρέπει να κατεβάσετε την πιο πρόσφατη έκδοση Tomcat σε αυτό δικτυακός τόπος .

Αφού κάνετε λήψη αυτής της πιο πρόσφατης έκδοσης Tomcat, τοποθετήστε την σε κατάλληλη τοποθεσία στο σύστημά σας.

Ας σκεφτούμε ότι τοποθετήσαμε το αρχείο Tomcat Apache στο σύστημα των Windows στη θέση C:apache-tomcat-7.0.59. Θα τοποθετήσουμε το αρχείο Tomcat Apache στη θέση /usr/local/apache-tomcat-7.0.59 στο Linux ή σύστημα Solaris. Μετά από αυτό, πρέπει να διορθώσετε τη μεταβλητή περιβάλλοντος CATALINA_HOME στο μέρος όπου έχετε κρατήσει το ληφθέν αρχείο Tomcat Apache.

Μπορείτε να ξεκινήσετε την εφαρμογή Tomcat στο σύστημα Windows κάνοντας κλικ στο αρχείο startup.bat. Μπορείτε επίσης να χρησιμοποιήσετε την ακόλουθη εντολή για την εκκίνηση της εφαρμογής Tomcat.

|_+_|

ή

|_+_|

Εάν χρησιμοποιείτε την εφαρμογή Tomcat στο σύστημα Linux ή Solaris, πρέπει να ακολουθήσετε οποιαδήποτε από τις παρακάτω εντολές για να την εκκινήσετε.

|_+_|

ή

|_+_|

Όταν όλα είναι καλά, εμφανίζεται μια οθόνη όπου μπορείτε να γράψετε τον κώδικα και να τον εκτελέσετε. Όλες οι προεπιλεγμένες εφαρμογές με Tomcat θα είναι διαθέσιμες μεταβαίνοντας στα παρακάτω δικτυακός τόπος :

Οι πλήρεις πληροφορίες σχετικά με τη διαμόρφωση του Tomcat και την εκτέλεση προγραμμάτων σε αυτό είναι διαθέσιμες στο δικτυακός τόπος .

Εάν θέλετε να διακόψετε την εφαρμογή Tomcat στο σύστημα Windows, πληκτρολογήστε οποιαδήποτε από τις ακόλουθες εντολές.

|_+_|

ή

|_+_|

Μπορείτε να πληκτρολογήσετε οποιαδήποτε από τις δύο εντολές που αναφέρονται παρακάτω για τον τερματισμό της εφαρμογής Tomcat.

|_+_|

ή

|_+_|

Πώς να ρυθμίσετε τις βιβλιοθήκες του Jersey Framework;

Αφού ρυθμίσετε τα JDK, Eclipse και Tomcat Apache, μπορείτε τώρα να προχωρήσετε στη ρύθμιση του Jersey Framework. Ακολουθήστε τις παρακάτω οδηγίες διαδοχικά για να πραγματοποιήσετε λήψη του Jersey Framework.

  1. Αρχικά, πρέπει να αποφασίσετε για το λειτουργικό σύστημα, όπως τα Windows ή το Unix, για να εγκαταστήσετε το Jersey Framework σε αυτό. Εάν επιλέξετε το σύστημα Windows, πραγματοποιήστε λήψη του αρχείου .zip και για τα συστήματα Unix, κατεβάστε το αρχείο .tz.
  2. Το επόμενο βήμα είναι να κατεβάσετε τα νεότερα δυαδικά αρχεία Jersey Framework από τα παρακάτω δικτυακός τόπος .
  3. Μετά τη λήψη του αρχείου .zip στο σύστημα των Windows, πρέπει να το αποσυμπιέσετε. Ας υποθέσουμε ότι έχετε κατεβάσει το αρχείο jaxrs-ri-2.17.zip. Μετά την αποσυμπίεση αυτού του αρχείου, παρέχει μια δομή καταλόγου στη θέση E:jaxrs-ri-2.17jaxrs-ri.
  4. Όλες οι βιβλιοθήκες του Jersey θα βρίσκονται στον κατάλογο C:jaxrs-ri-2.17jaxrs-rilib και οι εξαρτήσεις θα υπάρχουν στο C:jaxrs-ri-2.17jaxrs-riext.
  5. Αργότερα, διορθώστε τη μεταβλητή CLASSPATH στο μέρος όπου υπάρχουν οι βιβλιοθήκες σας στο Jersey, κατάλογος C:jaxrs-ri-2.17jaxrs-rilib. Να θυμάστε ότι δεν χρειάζεται να διορθώσετε τη μεταβλητή CLASSPATH για το Jersey Framework εάν χρησιμοποιείτε την εφαρμογή Eclipse.

Τώρα ξέρετε πώς να ρυθμίσετε το περιβάλλον για την υπηρεσία web RESTful. Ακολουθήστε όλα τα παραπάνω βήματα και θα είστε έτοιμοι να γράψετε το παράδειγμα του Jersey.

RESTful First Example – Τζέρσεϊ (JAX-RS)

Αφού ρυθμίσετε το περιβάλλον Java, Tomcat Apache, Eclipse και Jersey Framework, μπορείτε να ξεκινήσετε τη δημιουργία εφαρμογών web χρησιμοποιώντας το RESTful API. Ας παρατηρήσουμε ένα παράδειγμα στο Jersey Framework για να έχουμε μια ακριβή ιδέα σχετικά με τη σύνταξη του προγράμματος στο RESTful API. Πρέπει να ακολουθήσετε τα παρακάτω βήματα που αναφέρονται διαδοχικά για να εκτελέσετε το πρόγραμμα με επιτυχία.

Βήμα 1: Δημιουργήστε ένα έργο Java

Δημιουργήστε ένα έργο Java χρησιμοποιώντας ένα Eclipse IDE. Εδώ, θα δημιουργήσουμε ένα Dynamic Web Project. Παρακάτω είναι τα βήματα για να αναπτύξτε το Dynamic Web Έργο σε ένα Eclipse IDE.

  1. Ξεκινήστε την εφαρμογή Eclipse από το σύστημά σας. Κάντε κλικ στην επιλογή Αρχείο, κάντε κλικ στο Νέο και επιλέξτε Νέο έργο.
  2. Αργότερα, επιλέξτε τον οδηγό Dynamic Web Project από τη λίστα οδηγών.
  3. Αφού επιλέξετε τον οδηγό, δώστε το επιθυμητό όνομα στο έργο σας, ας πούμε FirstRestExample .
  4. Όταν αποθηκεύετε το όνομα του έργου σας στο παράθυρο του οδηγού, μεταβείτε στον Εξερεύνηση έργου και θα παρατηρήσετε το όνομα του έργου σας εκεί.

Βήμα 2: Προσθέστε τις Απαραίτητες Βιβλιοθήκες

Αφού δημιουργήσετε το έργο και το αποθηκεύσετε με ένα συγκεκριμένο όνομα, πρέπει να προσθέσετε τις βιβλιοθήκες και τις εξαρτήσεις του Jersey Framewoek στο έργο σας. Έχουμε παραθέσει τα ονόματα αρχείων jar που πρέπει να αντιγραφούν στον κατάλογο WEB-INF/lib του δημιουργημένου έργου από τον φάκελο zip του jersey.

  • jaxrs-ri-2.17jaxrs-riapi
  • jaxrs-ri-2.17jaxrs-riext
  • jaxrs-ri-2.17jaxrs-rilib

Για να προσθέσετε τα παραπάνω αρχεία jar που αναφέρονται στο έργο σας, κάντε δεξί κλικ στο έργο σας, FirstRestExample . Κάντε κλικ στην επιλογή Build Path και μετά μεταβείτε στο Configure Build Path. Εδώ, θα δείτε το παράθυρο που εμφανίζει τη διαδρομή δημιουργίας Java. Επιπλέον, θα δείτε το κουμπί Προσθήκη JARs κάτω από το μενού Βιβλιοθήκες. Προσθέστε τα αρχεία jar στον κατάλογο WEB-INF/lib.

Βήμα 3: Δημιουργήστε τα αρχεία προέλευσης

Δημιουργήσαμε το έργο μας, που ονομάζεται FirstRestExample, στο Eclipse IDE. Τώρα, πρέπει να δημιουργήσουμε τα αρχεία προέλευσης για αυτό το έργο. Για τη δημιουργία των αρχείων πηγής, πρέπει πρώτα να δημιουργήσουμε ένα πακέτο, ας πούμε com.restexample. Μεταβείτε στον εξερευνητή πακέτων και κάντε δεξί κλικ στην επιλογή src. Θα βρείτε την επιλογή New. Κάντε κλικ σε αυτό και αργότερα κάντε κλικ στην επιλογή Πακέτο.

Εδώ πρέπει να δημιουργήσετε τρία διαφορετικά αρχεία κάτω από το πακέτο com.restexample. Ας ονομάσουμε τα αρχεία ως EmployeeService.java, Employee.java και EmployeeDao.java. Στα τρία αρχεία που δημιουργήσατε στο πακέτο com.restexmaple και πρέπει να γράψετε τον κώδικα. Θα γράψουμε πρώτα τον κώδικα στο αρχείο Employee.java.

Υπάλληλος.java

|_+_|

EmployeeDao.java

|_+_|

EmployeeService.java

|_+_|

Στο παραπάνω αρχείο EmployeeService.java, πρέπει να θυμάστε ότι χρησιμοποιήσαμε τον σχολιασμό @Path για τον καθορισμό της διαδρομής για την υπηρεσία web. Επιπλέον, έχουμε δημιουργήσει επίσης μια διαδρομή για τη συγκεκριμένη μέθοδο υπηρεσίας web χρησιμοποιώντας τον σχολιασμό @Path.

Βήμα 4: Δημιουργήστε το αρχείο Web.xml

Τέλος, πρέπει να δημιουργήσουμε το αρχείο Web.xml. Ο πρωταρχικός στόχος του αρχείου Web.xml είναι να εκχωρήσει το Jersey Framework servlet για την εφαρμογή που αναπτύσσεται.

web.xml

|_+_|

Βήμα 5: Μεταγλώττιση και εκτέλεση του προγράμματος

Αφού γράψετε και τα τέσσερα παραπάνω αρχεία που αναφέρθηκαν, είστε τώρα έτοιμοι να μεταγλωττίσετε το πρόγραμμα για να εκτελέσετε το πρόγραμμα. Χρησιμοποιήσαμε το Eclipse IDE για τη συγγραφή όλων των παραπάνω προγραμμάτων. Επομένως πρέπει να εξάγουμε την παραπάνω εφαρμογή σε αρχείο πολέμου. Αργότερα, πρέπει να μεταγλωττίσουμε και να εκτελέσουμε αυτό το αρχείο πολέμου στο εργαλείο Tomcat Apache.

Θα δείξουμε παρακάτω πώς να δημιουργήσετε ένα αρχείο πολέμου στο Eclipse IDE.

  • Στο Eclipse IDE, μεταβείτε στην επιλογή Αρχείο, κάντε κλικ στο Export -> We -> War File. Εκεί πρέπει να επιλέξετε το έργο σας FirstRestExample και τον φάκελο προορισμού.
  • Αργότερα, πρέπει να εντοπίσετε το αρχείο FirstRestExample.war στο Κατάλογος εγκατάστασης Tomcat της επιλογής κατάλογο webapps . Και ξεκινήστε την εφαρμογή Tomcat.

Αφού τοποθετήσετε το αρχείο πολέμου στον κατάλογο webapps της Tomcat, μπορείτε να εκτελέσετε την εφαρμογή σας. Θα χρησιμοποιήσουμε την επέκταση του Chrome, Ταχυδρόμος , για τη δοκιμή των εφαρμογών μας. Το επόμενο βήμα είναι να τοποθετηθούν όλοι οι εργαζόμενοι στην ΤΑΧΥΔΡΟΜΟΣ. Για το σκοπό αυτό, χρησιμοποιήστε την παρακάτω γραμμή κώδικα

|_+_|

Για να χρησιμοποιήσετε την παραπάνω γραμμή κώδικα στον Tomcat Apache, χρησιμοποιήστε τη μέθοδο HTTP GET. Εδώ είναι έτοιμη η πρώτη σας εφαρμογή υπηρεσίας web.

Μηνύματα στο RESTful Web Service API

Στο RESTful API, ο πελάτης και ο διακομιστής επικοινωνούν μεταξύ τους χρησιμοποιώντας το πρωτόκολλο HTTP. Η επικοινωνία πραγματοποιείται όταν ο πελάτης στέλνει ένα αίτημα HTTP στον διακομιστή και ο διακομιστής απαντά στον πελάτη με την απόκριση HTTP. Η επικοινωνία μεταξύ του πελάτη και του διακομιστή χρησιμοποιώντας το πρωτόκολλο HTTP αναφέρεται ως Μηνύματα. Ένα μεμονωμένο μήνυμα HTTP περιέχει δεδομένα μηνυμάτων και μεταδεδομένα. Τα μεταδεδομένα είναι πληροφορίες μηνυμάτων.

Τώρα, ας δούμε το Αίτημα HTTP και την Απόκριση HTTP στο API υπηρεσίας ιστού RESTful.

Αίτημα HTTP

Ο πελάτης κατευθύνει ένα αίτημα HTTP στον διακομιστή. Ζητάει τους πόρους από τον διακομιστή. Υπάρχουν πέντε κύρια μέρη που περιλαμβάνονται σε ένα Αίτημα HTTP, Ρήμα, URI, έκδοση HTTP, Κεφαλίδα αιτήματος και Σώμα αιτήματος. Το παρακάτω είναι μια μορφή αιτήματος HTTP.

Ξεκουραστικός

Ας περιγράψουμε εν συντομία κάθε μέρος ενός αιτήματος HTTP.

    Ρήμα:Ένα ρήμα σε ένα αίτημα HTTP υποδηλώνει τις τέσσερις μεθόδους HTTP, GET, POST, PUT και DELETE.Uniform Resource Identifier (URI):Το επόμενο μέρος ενός αιτήματος HTTP είναι ένα Uniform Request Identifier (URI). Ένα URI προσδιορίζει κάθε πόρο μοναδικά.Έκδοση HTTP:Το τρίτο μέρος ενός αιτήματος HTTP είναι μια έκδοση HTTP. Για παράδειγμα, το HTTP v1.1, όπου το v1.1 είναι μια έκδοση.Κεφαλίδα αιτήματος:Η κεφαλίδα αιτήματος περιέχει τα μεταδεδομένα του μηνύματος. Τα μεταδεδομένα στην κεφαλίδα αιτήματος υπάρχουν στο ζεύγος κλειδιού-τιμής. Μπορεί να συλλέγει πληροφορίες, όπως τύπο πελάτη, ρυθμίσεις προσωρινής μνήμης, μορφή μηνύματος κ.λπ.Σώμα αιτήματος:Το σώμα αιτήματος σε ένα αίτημα HTTP υποδηλώνει την αναπαράσταση του πόρου.

Απόκριση HTTP

Όταν ο διακομιστής λάβει ένα αίτημα HTTP από τον πελάτη, απαντά στον πελάτη με μια απόκριση HTTP. Μια απόκριση HTTP περιλαμβάνει τέσσερα σημαντικά μέρη, τον κώδικα απόκρισης, την έκδοση HTTP, την κεφαλίδα απόκρισης και το σώμα απόκρισης. Ακολουθεί μια μορφή απόκρισης HTTP.

img 617dd1cb36593

Ας συζητήσουμε εδώ κάθε τμήμα απόκρισης HTTP.

    Κωδικός απάντησης:

Ο Κωδικός Απόκρισης αναφέρεται επίσης ως Κατάσταση. Όταν ο πελάτης ζητά τον πόρο από τον διακομιστή, ο κωδικός απόκρισης εμφανίζει την κατάστασή του. Εάν η κατάσταση είναι 404, ο πόρος δεν βρίσκεται. Εάν η απάντηση είναι εντάξει, η κατάσταση είναι 200.

    Έκδοση HTTP:

Το δεύτερο μέρος μιας απάντησης HTTP είναι μια έκδοση HTTP. Για παράδειγμα, το HTTP v1.1, όπου το v1.1 είναι μια έκδοση.

    Κεφαλίδα απάντησης:

Η κεφαλίδα περιέχει τα μεταδεδομένα του μηνύματος απάντησης HTTP με τη μορφή ζεύγους κλειδιού-τιμής. Μπορεί να έχει πληροφορίες όπως τύπο διακομιστή, μήκος περιεχομένου, δεδομένα απόκρισης κ.λπ.

    Σώμα απόκρισης:

Ο φορέας απάντησης περιλαμβάνει την αναπαράσταση του πόρου.

Στο παραπάνω παράδειγμα του RESTful web service API, έχουμε βάλει http://localhost:8080/FirstRestExample/rest/EmployeeService/employees .

Στον ταχυδρόμο, χρησιμοποιώντας τη μέθοδο HTTP GET. Όταν το αίτημα αποσταλεί χρησιμοποιώντας τη μέθοδο GET, θα λάβουμε ένα μήνυμα XML ως εξής. Για να δείτε μια απάντηση XML, πρέπει να κάνετε κλικ στο κουμπί Προεπισκόπηση.

|_+_|

Πηγή στο RESTful Web Service API

Στο API της υπηρεσίας web RESTful, κάθε περιεχόμενο αντιμετωπίζεται ως πόρος. Ο πελάτης ζητά τον πόρο και ο διακομιστής παρέχει πρόσβαση σε έναν συγκεκριμένο πόρο που ζητήθηκε από τον πελάτη. Αφού δώσει πρόσβαση, ο πελάτης μπορεί να τροποποιήσει ή να αλλάξει τον πόρο. Ο πόρος μπορεί να είναι σελίδες HTML, εικόνες, αρχεία κειμένου ή επιχειρηματικά δεδομένα.

Υπάρχει ένας μοναδικός αριθμός για κάθε πόρο στην αρχιτεκτονική REST. Αυτός ο μοναδικός αριθμός αναφέρεται ως Uniform Resource Identifier (URI). Γενικά, ο πόρος στην αρχιτεκτονική REST αναπαρίσταται χρησιμοποιώντας μια μορφή XML ή JSON. Ας παρακολουθήσουμε τώρα την αναπαράσταση των πόρων στην αρχιτεκτονική REST.

Αναπαράσταση πόρων στην αρχιτεκτονική REST

Οι πόροι στην αρχιτεκτονική REST αντιπροσωπεύονται σε μορφές XML ή JSON. Μπορείτε να χειριστείτε έναν πόρο REST ως οντότητα στη βάση δεδομένων ή ως αντικείμενο στον αντικειμενοστραφή προγραμματισμό. Πρώτον, ο πόρος αναγνωρίζεται χρησιμοποιώντας το Uniform Resource Identifier (URI). Αργότερα, αποφασίζεται η τυπική μορφή για την αναπαράσταση του πόρου. Όταν ο πελάτης ζητά τον πόρο, ο διακομιστής προωθεί τον πόρο με τη μορφή που καθορίζεται από τον πελάτη.

Στο παραπάνω παράδειγμά μας RESTful, έχουμε έναν «υπάλληλο» ως πόρο. Ας δούμε πώς αναπαρίσταται ένας πόρος «υπάλληλος» χρησιμοποιώντας μια φόρμα XML.

|_+_|

Τώρα, θα απεικονίσουμε τον ίδιο πόρο «υπάλληλος» στη μορφή JSON.

|_+_|

Στην αρχιτεκτονική REST, μπορείτε να αναπαραστήσετε πόρους σε οποιαδήποτε μορφή. Υπάρχουν περιπτώσεις στο API της υπηρεσίας web RESTful όπου ένας πελάτης ζητά τον πόρο σε μορφή XML ενώ ο άλλος πελάτης ζητά τον ίδιο πόρο στη φόρμα JSON. Το μόνο σημαντικό πράγμα στην αναπαράσταση πόρων είναι ότι θα πρέπει να αναπαρίσταται σε τέτοια μορφή ώστε ο πελάτης να μπορεί να την κατανοήσει.

Όταν ο πόρος αναπαρίσταται σε οποιαδήποτε μορφή, υπάρχουν ορισμένες προϋποθέσεις που πρέπει να ληφθούν υπόψη. Η μορφή του πόρου θα πρέπει να είναι κατανοητή, πλήρης και δυνατότητα σύνδεσης. Ο πελάτης και ο διακομιστής στην αρχιτεκτονική REST θα πρέπει να αναγνωρίζουν γρήγορα τη μορφή αναπαράστασης πόρων. Οποιαδήποτε φόρμα επιλέξετε για την αναπαράσταση του πόρου, θα πρέπει να παρέχει τις πλήρεις πληροφορίες του πόρου. Η μορφή αναπαράστασης πόρων θα πρέπει να επιτρέπει τη σύνδεση με οποιονδήποτε άλλο πόρο.

Οι περισσότεροι προγραμματιστές χρησιμοποιούν τη φόρμα JSON ή XML για την αναπαράσταση του πόρου στην αρχιτεκτονική REST. Υπάρχουν πολλά διαθέσιμα εργαλεία σήμερα για την τροποποίηση των δεδομένων JSON ή XML.

Διεύθυνση στο RESTful Web Service API

Η διευθυνσιοδότηση στην αρχιτεκτονική REST συνεπάγεται τον εντοπισμό πόρων που υπάρχουν στον διακομιστή. Γνωρίζουμε ότι οι πόροι προσδιορίζονται από τα Uniform Resource Identifiers (URI). Η μορφή ενός Uniform Resource Identifier είναι η εξής:

:////

Το URI εντοπίζει έναν συγκεκριμένο πόρο στον διακομιστή. Στο παραπάνω παράδειγμά μας, το URI είναι

|_+_|

Χρησιμοποιήσαμε τη μέθοδο HTTP GET για το παραπάνω URI.

Ίσως αναρωτιέστε πώς δημιουργείται το URI. Θα σας καθοδηγήσουμε με μερικούς απλούς κανόνες για τη δημιουργία του URI για οποιονδήποτε πόρο στην αρχιτεκτονική REST.

  1. Όταν ορίζετε πόρους στις υπηρεσίες Ιστού σας, χρησιμοποιείτε πάντα τον πληθυντικό. Στο παραπάνω παράδειγμα εφαρμογής Ιστού RESTful, δημιουργήσαμε έναν πόρο «χρήστες».
  2. Πρέπει να βεβαιωθείτε ότι το όνομα του πόρου σας δεν πρέπει να περιέχει κανένα κενό διάστημα ή ειδικό σύμβολο, όπως %, $, @, κ.λπ. Μπορείτε να χρησιμοποιήσετε παύλα (-) ή κάτω παύλα (_) στο όνομα του πόρου. Για παράδειγμα, το σωστό όνομα πόρου είναι effect_employees και όχι effect@employees.
  3. Στην υπηρεσία web RESTful, τα URI δεν έχουν διάκριση πεζών-κεφαλαίων. Ωστόσο, είναι πάντα καλύτερο να διατηρείτε το URI με πεζά γράμματα.
  4. Βεβαιωθείτε ότι χρησιμοποιείτε οποιοδήποτε από τα ρήματα ή μεθόδους HTTP για την εκτέλεση λειτουργιών σε πόρους. Στην παραπάνω εφαρμογή RESTful χρησιμοποιήσαμε τη μέθοδο HTTP GET.
  5. Το URI θα πρέπει να δημοσιεύεται δημόσια, καθώς οι υπηρεσίες web είναι δημόσιες υπηρεσίες.

Ας δούμε ένα παράδειγμα καλού και κακού URI για την ανάκτηση ενός υπαλλήλου.

Κακή URI

|_+_|

Καλό URI

|_+_|

Java (JAX-RS) στο RESTful Web Service API

JAX-RS υπονοεί Jakarta RESTful Web Services. Νωρίτερα, ήταν γνωστό ως Java API για RESTful Web Services. Το JAX-RS είναι ένα API που βασίζεται σε Java που επιτρέπει στους χρήστες να δημιουργούν υπηρεσίες Ιστού με βάση την αρχιτεκτονική REST. Η πιο πρόσφατη έκδοση JAX-RS είναι η 2.0, που κυκλοφόρησε το 2013. Αυτό το API που βασίζεται σε java χρησιμοποιεί σχολιασμούς από την Java SE 5, καθιστώντας την ανάπτυξη και την ανάπτυξη υπηρεσιών web πιο διαχειρίσιμη.

Προδιαγραφές JAX-RS

Ακολουθούν ορισμένοι τυπικά χρησιμοποιούμενοι σχολιασμοί για την αντιστοίχιση ενός πόρου ως πόρου υπηρεσίας Ιστού.

    @ΠΑΙΡΝΩ:Αυτή η προδιαγραφή του JAX-RS χρησιμοποιείται για την ανάκτηση του πόρου.@Μονοπάτι:Το @Path υποδηλώνει τη διαδρομή της κλάσης ή της μεθόδου που περιλαμβάνεται στην υπηρεσία web.@ΔΙΑΓΡΑΦΩ:Ο πόρος @DELETE διαγράφει έναν συγκεκριμένο πόρο.@ΘΕΣΗ:Η παραπάνω προδιαγραφή στο JAX-RS δημιουργεί έναν νέο πόρο.@ΒΑΖΩ:Αυτή η προδιαγραφή JAX-RS χρησιμοποιείται για την ενημέρωση ενός υπάρχοντος πόρου.@Καταναλώνει:Η προδιαγραφή @Consumes JAX-RS αντιπροσωπεύει τον τύπο ενός αιτήματος HTTP.@ΚΕΦΑΛΙ:Μια άλλη μέθοδος HTTP στο JAX-RS είναι η @HEAD, η οποία προσφέρει πληροφορίες σχετικά με το εάν η μέθοδος είναι διαθέσιμη ή όχι.@QueryParam:Η παραπάνω προδιαγραφή χρησιμοποιείται για τον συνδυασμό της παραμέτρου ερωτήματος και της παραμέτρου που μεταβιβάζεται στη μέθοδο.@Παράγει:Η προδιαγραφή @Produces εμφανίζει τον τύπο της απόκρισης HTTP.@PathParam:Η παραπάνω προδιαγραφή JAX-RS χρησιμοποιείται για το συνδυασμό της τιμής διαδρομής με την παράμετρο που μεταβιβάστηκε στη μέθοδο.@CookieParam:Το @CookieParam συνδυάζει ένα Cookie με την παράμετρο που μεταβιβάστηκε στη μέθοδο.@MatrixParam:Αυτή η προδιαγραφή JAX-RS συνδυάζει την παράμετρο HTTP matrix με μια παράμετρο που μεταβιβάζεται στη μέθοδο.@FormParam:Η τιμή της φόρμας συνδυάζεται με την παράμετρο που μεταβιβάστηκε στη μέθοδο χρησιμοποιώντας το @FormParam.@HeaderParam:Η κεφαλίδα HTTP δεσμεύεται με την παράμετρο που μεταβιβάζεται στη μέθοδο χρησιμοποιώντας το @HeaderParam.@Συμφραζόμενα:Το @Context υποδηλώνει το πλαίσιο πόρων.@Προεπιλεγμένη τιμή:Η παραπάνω προδιαγραφή JAX-RS εκχωρεί την παράμετρο που μεταβιβάστηκε στη μέθοδο με μια προεπιλεγμένη τιμή.

Ανιθαγένεια και προσωρινή αποθήκευση του RESTful Web Service API

Ανιθαγένεια

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

Πλεονεκτήματα:

Ακολουθούν ορισμένα σημαντικά πλεονεκτήματα της ανιθαγένειας στο API της υπηρεσίας ιστού RESTful.

  • Χρησιμοποιώντας την ιδιότητα ανιθαγένειας, η υπηρεσία web επεξεργάζεται κάθε αίτημα μεθόδου ξεχωριστά.
  • Ο διακομιστής δεν διατηρεί την κατάσταση του πελάτη ή τις προηγούμενες λειτουργίες. Ως εκ τούτου, κάνει τον σχεδιασμό της εφαρμογής πιο απλοποιημένο.
  • Οι υπηρεσίες web RESTful επεξεργάζονται εικονικά στα πρωτόκολλα HTTP.

Μειονεκτήματα:

  • Καθώς ο διακομιστής δεν περιέχει την κατάσταση του πελάτη, η υπηρεσία Ιστού απαιτεί περισσότερα δεδομένα από κάθε αίτημα από τον πελάτη.

Προσωρινή αποθήκευση

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

Υπάρχει μια κεφαλίδα ελέγχου κρυφής μνήμης που αποτελείται από πέντε σημαντικά μέρη, Δημόσιο, Ιδιωτικό, μέγιστη ηλικία, μη προσωρινή/χωρίς αποθήκευση και πρέπει να επανεπικυρωθεί. Ας δούμε την περιγραφή κάθε μέρους παρακάτω.

    Δημόσιο:Οποιοδήποτε στοιχείο μπορεί να αποθηκεύσει προσωρινά έναν πόρο που είναι Δημόσιος.Ιδιωτικός:Κανείς δεν επιτρέπεται να αποθηκεύσει προσωρινά τον πόρο. Μόνο ο πελάτης και ο διακομιστής μπορούν να αποθηκεύσουν προσωρινά τον πόρο.μέγιστη ηλικία:Το στοιχείο μέγιστης ηλικίας υπολογίζεται σε δευτερόλεπτα. Υπονοεί πόσα δευτερόλεπτα είναι έγκυρη η προσωρινή αποθήκευση του πόρου. Μόλις τελειώσει ο μέγιστος χρόνος, ο πελάτης πρέπει να ζητήσει ξανά τον πόρο.χωρίς προσωρινή μνήμη/χωρίς αποθήκευση:Ο πελάτης δεν μπορεί να αποθηκεύσει προσωρινά τον πόρο.πρέπει να επανεπικυρωθεί:Ο διακομιστής πρέπει να επανεπικυρώσει τον πόρο όταν τελειώσει ο μέγιστος χρόνος για την προσωρινή αποθήκευση.

Για τη διαμόρφωση της προσωρινής μνήμης του πελάτη, η απόκριση διακομιστή περιλαμβάνει τις ακόλουθες κεφαλίδες:

    Ημερομηνία:Η ημερομηνία και η ώρα δημιουργίας πόρων αντιπροσωπεύονται στην κεφαλίδα Date.Cache-Control:Η κεφαλίδα cache-control παρακολουθεί την προσωρινή αποθήκευση.Ηλικία:Η ηλικία αναπαρίσταται σε δευτερόλεπτα. Είναι η στιγμή που λαμβάνεται ο πόρος από τον διακομιστή.Τελευταία τροποποίηση:Αυτή η κεφαλίδα εμφανίζει την ημερομηνία και την ώρα που ο πόρος ενημερώθηκε για τελευταία φορά.Λήγει:Αυτή η κεφαλίδα υποδηλώνει την ημερομηνία και την ώρα λήξης της προσωρινής αποθήκευσης.

Μέθοδοι HTTP και οι λειτουργίες τους στο RESTful API

Στην προηγούμενη ενότητα, είδαμε τις μεθόδους HTTP και τις χρήσεις τους. Αυτό το τμήμα θα παρατηρεί τις μεθόδους HTTPS, τις λειτουργίες τους και τον τύπο λειτουργίας στην αρχιτεκτονική REST.

    ΠΑΙΡΝΩ:

Η μέθοδος GET HTTP στο παραπάνω παράδειγμα εφαρμογής RESTful χρησιμοποιείται για τη λήψη της λίστας υπαλλήλων. Χρησιμοποιήσαμε το URI για τη μέθοδο GET ως εξής:

|_+_|

Η μέθοδος HTTP GET αποκτά τη λίστα των εργαζομένων. Ως εκ τούτου, έχει έναν τύπο λειτουργίας μόνο για ανάγνωση.

Μπορούμε επίσης να χρησιμοποιήσουμε τη μέθοδο GET για την ανάκτηση του Id 1 υπαλλήλου. Το URI για την ανάκτηση του υπαλλήλου Id 1 είναι:

|_+_|

Αυτή η λειτουργία είναι επίσης τύπου μόνο για ανάγνωση.

    ΘΕΣΗ:

Στο παράδειγμα εφαρμογής RESTful, χρησιμοποιήσαμε τη μέθοδο HTTP POST για την εισαγωγή του υπαλλήλου που έχει το αναγνωριστικό 2. Το URI για την εισαγωγή του υπαλλήλου για το αναγνωριστικό 2 είναι:

|_+_|

Ο παραπάνω τύπος λειτουργίας δεν είναι αδύνατος.

    ΔΙΑΓΡΑΦΩ:

Μπορούμε να χρησιμοποιήσουμε τη μέθοδο HTTP DELETE για τη διαγραφή του υπαλλήλου με αναγνωριστικό 1. Παρακάτω είναι το URI για τη διαγραφή του υπαλλήλου με αναγνωριστικό 1.

|_+_|

Η λειτουργία ΔΙΑΓΡΑΦΗ είναι τύπου αδύνατο.

    ΚΕΦΑΛΙ:

Η μέθοδος HEAD σε μια αρχιτεκτονική REST χρησιμοποιείται για την επιστροφή της κεφαλίδας HTTP. Δεν παρέχει το σώμα HTTP. Για το παραπάνω παράδειγμα Υπαλλήλου, μπορούμε να χρησιμοποιήσουμε το παρακάτω URI.

|_+_|

Αυτή η λειτουργία είναι τύπου μόνο για ανάγνωση.

    ΒΑΖΩ:

Στην παραπάνω εφαρμογή REST Employee, μπορούμε να χρησιμοποιήσουμε τη μέθοδο HTTP PUT για την ενημέρωση του υπαλλήλου με αναγνωριστικό 2. Χρησιμοποιήστε το παρακάτω URI για την ενημέρωση του υπαλλήλου με αναγνωριστικό 2.

|_+_|
    ΕΠΙΛΟΓΕΣ:

Οι μέθοδοι HTTP OPTIONS σάς δίνουν τη δυνατότητα να παραθέσετε όλες τις λειτουργίες που υποστηρίζονται στην υπηρεσία web. Μπορείτε να χρησιμοποιήσετε το ακόλουθο URI για αυτήν τη λειτουργία.

|_+_|

Η λειτουργία OPTIONS είναι τύπου μόνο για ανάγνωση.

Από τις παραπάνω μεθόδους HTTP και τις λειτουργίες τους, μπορούμε να συμπεράνουμε ότι η λειτουργία GET είναι τύπος μόνο για ανάγνωση. Οι λειτουργίες DELETE και PUT είναι ανεπαρκούς τύπου. Το αποτέλεσμα αυτών των δύο πράξεων παραμένει το ίδιο, ακόμα κι αν εκτελούνται πολλές φορές.

συμπέρασμα

Το RESTful API είναι ένα API βασισμένο σε αρχιτεκτονική REST που χρησιμοποιεί τις μεθόδους HTTP για πρόσβαση και οργάνωση δεδομένων. Κάθε δεδομένα στην αρχιτεκτονική REST θεωρείται πόρος. Εάν επιθυμείτε να μάθετε το RESTful API, αυτή η ανάρτηση είναι ένας πλήρης οδηγός για εσάς.

Είδαμε τι είναι το API της υπηρεσίας ιστού RESTful, πώς λειτουργεί, μεθόδους HTTP που χρησιμοποιούνται στην αρχιτεκτονική REST και ιδιότητες και περιορισμούς της αρχιτεκτονικής REST. Αργότερα, έχουμε απεικονίσει τη ρύθμιση περιβάλλοντος για το RESTful API. Στη ρύθμιση περιβάλλοντος RESTful API, έχουμε ρυθμίσει το περιβάλλον JDK, το Tomcat Apache, το Eclipse IDE και το Jersey Framework. Μπορείτε να παρατηρήσετε το απλό παράδειγμα εφαρμογής RESTful σε αυτό το σεμινάριο.

Στη συνέχεια, έχουμε καλύψει αρκετά στοιχεία στο API της υπηρεσίας ιστού RESTful, όπως μηνύματα, ανιθαγένεια, προσωρινή αποθήκευση, πόρους και διευθύνσεις. Έχουμε επίσης συζητήσει το Ιάβα JAX-RS και οι προδιαγραφές του. Τέλος, είδαμε τις μεθόδους HTTP και τις λειτουργίες τους με URI και τύπο λειτουργίας.