Jos haluat rakentaa sovellusliittymä (API) verkkosovelluksissa käytetään RESTfulia. Mikä on sovellusrajapinta (API)? Sovellusohjelmaliittymä on välittäjä minkä tahansa kahden ohjelmistosovelluksen välillä. Sen avulla kaksi ohjelmistosovellusta voivat kommunikoida keskenään turvallisesti. Tyypillisiä API-sovelluksia jokapäiväisessä elämässä ovat Facebookin käyttö, chat-sovellusten käyttö tai sääennustesovelluksen käyttö matkapuhelimessa.
Tarkastellaanpa yhtä suoraviivaista esimerkkiä ymmärtääksemme, mikä API tarkalleen on? Mieti esimerkkiä ravintolasta. Menemme ravintolaan ja syömme valitsemaamme ruokaa. Tarkkailemme ruokalistakorttia ja kerromme tarjoilijalle valitsemistasi tuotteista valikosta. Tämän jälkeen tarjoilija ilmoittaa tilauksesi keittiöosastolle, ja ruokasi valmistuu. Kun ruoka on valmis, tarjoilija tarjoilee sen pöydässäsi puolestasi. Täällä tarjoilija on rajapinta sinun ja keittiöosaston välillä. Sama tapahtuu kahden järjestelmän yhteydessä.
Sovellusohjelman käyttöliittymä (API) on luokiteltu neljään ensisijaiseen tyyppiin: OpenAPI:t, Partner API:t, Internal API ja Composite API. OepnAPI:t ovat kaikkien käytettävissä, koska ne ovat julkisesti saatavilla. Kumppanisovellusliittymissä tietty käyttäjä tarvitsee asianmukaiset käyttöoikeudet, koska niitä ei ole kehitetty julkiseen käyttöön. Sisäiset API:t on suunniteltu erityisesti yrityksen sisäiseen käyttöön. Lopuksi komposiittisovellusliittymiä käytetään yleensä yrityksen toiminnan ja suorituskyvyn nopeuttamiseen.
Toinen API-tyyppi on verkkopalvelusovellusliittymät. Ensisijaisia verkkopalvelusovellusliittymiä on neljä, SOAP, XML-RPC, JSON-RPC ja REST. SOAP tarkoittaa a Simple Object Access Protocol , joka siirtää tietoja XML-muodossa. SOAP API sisältää käytön Verkkopalveluiden määrittelykieli (WSDL) sen rajapinnan määrittelemiseksi. Toinen verkkopalvelun API on XML-RPC . Kuten nimestä voi päätellä, se käytti XML-lomaketta tietojen jakamiseen. XML-RPC API on yksinkertaisempi ja helppokäyttöisempi kuin SOAP API.
Seuraava verkkopalvelun API on JSON-RPC . Se on sama API kuin XML, mutta se käyttää JSON-muotoa tietojen jakamiseen. Lopuksi REST API eroaa kaikista edellä mainituista kolmesta. Se on arkkitehtonisten standardien kokoelma. REST API:ta kutsutaan myös RESTful API:ksi. Se on yksi yleisesti käytetyistä verkkopalvelusovellusliittymistä, koska se vaatii poikkeuksellisen vähemmän kaistanleveyttä.
Tässä artikkelissa näemme pikaoppaan RESTful-verkkopalvelusta. Tämä viesti auttaa sinua oppimaan kaiken RESTful-verkkopalvelusta. Olemme selostaneet RESTful-verkkopalvelukonsepteja selkeämmin helpoilla esimerkeillä. Yksi asia kannattaa muistaa ennen kuin aloitat ymmärtää LEPOJA API tarkoittaa, että sinulla on oltava parempi Java-ohjelmointikielen, HTML-, CSS-, AJAX- ja tekstieditorin tuntemus, koska RESTful on verkkopalvelu verkkosovellusten kehittämiseen. Joten aloitetaan RESTful API -opetusohjelmamme.
Sisällysluettelo
- Mikä on RESTful Web Service API?
- RESTful Web Service API:n toiminta
- HTTP-menetelmät RESTful-verkkopalvelun API:ssa
- RESTful API-arkkitehtuurin ominaisuudet ja rajoitukset
- Ympäristön asetukset RESTful Web Services -palveluita varten
- RESTful ensimmäinen esimerkki – Jersey (JAX-RS)
- Viestit RESTful Web Service API:ssa
- Resurssi RESTful Web Service API:ssa
- Oikaisu RESTful Web Service API:ssa
- Java (JAX-RS) RESTful Web Service API:ssa
- Valtiottomuus ja RESTful Web Service API:n välimuisti
- HTTP-menetelmät ja niiden toiminnot RESTful API:ssa
- Johtopäätös
- Suositellut artikkelit
Mikä on RESTful Web Service API?
Ennen kuin tiedämme, mikä RESTful API on, tiedämme ensin, mikä verkkopalvelu todella on. A verkkopalvelu on joukko standardeja tai periaatteita, joita tarvitaan tietojen jakamiseen tai vaihtamiseen järjestelmien välillä. Nykyään käytämme useita sovelluksia matkapuhelimissamme ja pöytätietokoneissamme. Nämä sovellukset on kirjoitettu useilla ohjelmointikielillä, ja silti ne toimivat erillisissä käyttöjärjestelmissä. Verkkopalvelun avulla voit käyttää tiettyä ohjelmistosovellusta eri käyttöjärjestelmissä.
RESTful API on verkkopalvelun sovellusliittymä. Se sisältää kokoelman arkkitehtonisia standardeja ja käyttää HTTP-protokollaa tiettyjen tietojen hakemiseen ja käyttämiseen. REST tarkoittaa Edustusvaltion siirto . RESTful API:ssa jokaista mukana olevaa komponenttia käsitellään resurssina. Voit käyttää näitä resursseja käyttämällä HTTP-protokolla menetelmiä.
RESTful API:ssa on mukana palvelin ja asiakas. REST API:n asiakkaat voivat käyttää palvelimen tarjoamia resursseja ja käsitellä niitä. Jokaisella resurssilla on erillinen URI tai yleinen tunnus. URI:n tai yleisen tunnuksen avulla voimme tunnistaa RESTful API:n resurssit. URI tarkoittaa a Uniform Resource Identifier . Voit käyttää teksti-, XML.JSON- tai JSON-muotoja REST API:ssa resurssien esittämiseen.
RESTful-verkkopalvelua käyttävät tyypillisesti pilvikuluttajat, jolloin he voivat käyttää ja hallita verkkopalveluita. REST API on yksi halutuimmista vaihtoehdoista vankan API:n luomisessa. REST-arkkitehtuurilla rakennettu API mahdollistaa käyttäjien hallittavan vuorovaikutuksen pilvipalvelujen kanssa. Jotkut suosituista verkkosivustoista, jotka käyttävät RESTful-verkkopalvelua sovellusliittymiensä tekemiseen, ovat Amazon Web Services (AWS), Twitter, LinkedIn ja Google.
RESTful Web Service API:n toiminta
Olemme havainneet lyhyen kuvauksen RESTful-verkkopalvelusta. Kerro meille nyt RESTful API:n toiminnasta. RESTful API hajottaa jokaisen tapahtuman minkä tahansa kahden sovelluksen välillä useiksi pienemmiksi moduuleiksi. Tässä tapahtuma tarkoittaa tietojen tai tietojen vaihtoa. Jokainen moduuli sisältää olennaiset tiedot tapahtumasta. Tästä syystä kehittäjät tuntevat olonsa mukavaksi ja joustavaksi rakentaessaan API:n mille tahansa verkkosovellukselle.
Nykyään monet yritykset, kuten Cloud Data Management Interface (CDMI), AmazonS3 jne., tarjoavat omia mallejaan API:n kehittämiseen. RESTful API -verkkopalvelussa on lukuisia komentoja resurssien käyttämiseen. Resurssin esitys määrittää tietyn resurssin tilan tietyllä aikaleimalla.
HTTP-menetelmät RESTful-verkkopalvelun API:ssa
RESTful-verkkopalvelun API käyttää HTTP-protokollaa resurssien käyttöön ja käsittelyyn. RESTful-verkkopalvelussa käytetään neljää ensisijaista HTTP-menetelmää, GET, PUT, POST, DELETE. Kerro meille lyhyesti jokainen näistä HTTP-menetelmistä.
- RESTful API tarjoaa korkean suorituskyvyn loppukäyttäjille. Kun käyttäjä napsauttaa mitä tahansa linkkiä, hän saa välittömiä tuloksia. Ja kehittäjät toimittavat kaikki palvelut käyttäjille.
- Toinen RESTful API:n ominaisuus on skaalautuvuus. RESTful API tarjoaa palveluita säännöllisesti huolimatta käyttäjien lisääntymisestä tai vähenemisestä.
- RESTful API:lla on yhtenäinen käyttöliittymä. Kaikki resurssit tunnistetaan niiden vastaavien URI-tunnusten avulla. Näin ollen tämä yhtenäinen käyttöliittymä tekee RESTful API:sta yksinkertaisen.
- Seuraava ominaisuus on muunnettavuus. Kaikkien järjestelmän muutosten tulee tapahtua helposti ja mukavasti.
- RESTful API -arkkitehtuuri on erittäin kannettava ja luotettava.
- Ensimmäinen RESTful-verkkopalvelun API:n arkkitehtoninen rajoitus on, että sen tulee käyttää yhtenäistä käyttöliittymää. Kaikki RESTful API -resurssit tulee tunnistaa käyttämällä niitä vastaavia Uniform Resource Identifiers (URI) -tunnisteita. Niitä saa käyttää ja käsitellä vain neljällä HTTP-menetelmällä, PUT, POST, GET ja DELETE.
- Asiakkaalla ja palvelimella RESTful API:ssa tulee olla tarkka esitys. Asiakas hoitaa yhtenäisen käyttöliittymän ja pyyntöjen keräämisen. Toisaalta palvelin säätelee turvallisuutta, tietojen käyttöä ja työkuorman hallintaa. Palvelimella on kaikki resurssit ja asiakas pyytää resursseja palvelimelta.
- Toinen RESTful-verkkopalvelun API:n arkkitehtoninen rajoite on tilattomat toiminnot. Asiakkaan ja palvelimen RESTful API:ssa tulee noudattaa tilattomia toimintoja. Kaikki valtionhallinnon operaatiot tulee tehdä asiakaspuolella.
- Kaikkien RESTful-verkkopalvelusovellusliittymien tulisi suorittaa välimuistia. Jos esitetään, että välimuisti ei ole mahdollista, vain välimuistia ei tule suorittaa.
- Tietyn sovelluksen arkkitehtuurin tulee sisältää palvelin useilla kerroksilla. Yhdellä kerroksella ei saa olla mitään tietoa muista kerroksista, paitsi sen välittömästä kerroksesta.
- Yleensä palvelin lähettää resurssien staattiset esitykset asiakkaalle XML- tai JSON-muodossa. Sen tulee myös lähettää suoritettava koodi asiakkaalle tarvittaessa.
- Käyttämällä HTTP GET -menetelmää, jossa on tyhjä POST-runko, näytämme luettelon, joka sisältää käyttäjänimet. Ota yhtenäinen resurssitunniste /Käyttäjä/Palvelu/käyttäjät .
- Myöhemmin lisäämme jokaisen käyttäjän tiedot luetteloon. Tätä tarkoitusta varten käytämme HTTP POST -menetelmää, jossa POST-rungossa on JSON-merkkijono. Käytä URI:ta nimellä /Käyttäjä/Palvelu/addUser .
- Lopuksi näytämme yksittäisten käyttäjien tiedot HTTP GET -menetelmällä. Pidä POST-teksti tyhjänä ja käytä URI:ta nimellä /User/Service/getUser/:id .
- Ensinnäkin sinun on päätettävä käyttöjärjestelmästä, kuten Windows tai Unix, asentaaksesi Jersey Frameworkin siihen. Jos valitset Windows-järjestelmän, lataa .zip-tiedosto ja Unix-järjestelmissä .tz-tiedosto.
- Seuraava askel on ladata uusimmat Jersey Framework -binaarit alla olevasta verkkosivusto .
- Kun olet ladannut .zip-tiedoston Windows-järjestelmään, sinun on purettava se. Oletetaan, että olet ladannut jaxrs-ri-2.17.zip-tiedoston. Kun tämä tiedosto on purettu, se tarjoaa hakemistorakenteen sijaintiin E:jaxrs-ri-2.17jaxrs-ri.
- Kaikki Jerseyn kirjastot ovat hakemistossa C:jaxrs-ri-2.17jaxrs-rilib, ja riippuvuudet ovat olemassa hakemistossa C:jaxrs-ri-2.17jaxrs-riext.
- Korjaa myöhemmin CLASSPATH-muuttuja paikkaan, jossa Jersey-kirjastosi ovat, C:jaxrs-ri-2.17jaxrs-rilib-hakemistoon. Muista, että Jersey Frameworkin CLASSPATH-muuttujaa ei tarvitse korjata, jos käytät Eclipse-sovellusta.
- Käynnistä Eclipse-sovellus järjestelmästäsi. Napsauta Tiedosto-vaihtoehtoa, napsauta Uusi ja valitse Uusi projekti.
- Valitse myöhemmin ohjattu dynaaminen verkkoprojekti ohjatun toiminnon luettelosta.
- Kun olet valinnut ohjatun toiminnon, anna projektillesi haluamasi nimi, sano FirstRestEsimerkki .
- Kun tallennat projektin nimen ohjatun toiminnon ikkunaan, siirry Project Exploreriin ja huomaat projektisi nimen siellä.
- jaxrs-ri-2.17jaxrs-riapi
- jaxrs-ri-2.17jaxrs-riext
- jaxrs-ri-2.17jaxrs-rilib
- Siirry Eclipse IDE:ssä Tiedosto-vaihtoehtoon, napsauta Vie -> Me -> War File. Siellä sinun on valittava projektisi FirstRestEsimerkki ja kohdekansio.
- Myöhemmin sinun on löydettävä FirstRestExample.war-tiedosto tiedostosta Tomcatin asennushakemisto vaihtoehtoja webapps-hakemisto . Ja käynnistä Tomcat-sovellus.
- Kun määrität resursseja verkkopalveluissasi, käytä aina monikkomuotoa. Yllä olevassa RESTful-verkkosovellusesimerkissä olemme luoneet resurssin 'käyttäjät'.
- Sinun on varmistettava, että resurssin nimessä ei saa olla välilyöntejä tai erikoissymboleja, kuten %, $, @ jne. Voit käyttää resurssin nimessä väliviivaa (-) tai alaviivaa (_). Esimerkiksi oikea resurssin nimi on tehokkaat_työntekijät, ei tehokkaat@työntekijät.
- RESTful-verkkopalvelussa URI:t eivät erota kirjainkoosta. Mutta on aina parempi pitää URI pienillä kirjaimilla.
- Varmista, että käytät mitä tahansa HTTP-verbejä tai menetelmiä resurssien toimintojen suorittamiseen. Yllä olevassa RESTful-sovelluksessa käytimme HTTP GET -menetelmää.
- URI tulisi julkaista julkisesti, koska verkkopalvelut ovat julkisia palveluita.
- Verkkopalvelu käsittelee valtiottomuusominaisuuden avulla jokaisen menetelmäpyynnön erikseen.
- Palvelin ei säilytä asiakkaan tilaa tai aiempia toimintoja. Näin ollen se tekee sovelluksen suunnittelusta yksinkertaisempaa.
- RESTful-verkkopalvelut käsittelevät virtuaalisesti HTTP-protokollia.
- Koska palvelin ei sisällä asiakkaan tilaa, verkkopalvelu vaatii enemmän dataa jokaisesta asiakkaan pyynnöstä.
RESTful-verkkopalvelun API tukee useita tietomuotoja, kuten application/xml, application/json, application/x-www-form-urlencoded, application.x-web+xml ja multipart/form-data.
RESTful API-arkkitehtuurin ominaisuudet ja rajoitukset
Dr. Roy Fielding on RESTful-verkkopalvelun API:n kehittäjä. Alla on joitain merkittäviä RESTful API -arkkitehtuurin ominaisuuksia ja rajoituksia.
RESTful API:n ominaisuudet
RESTful API:n arkkitehtoniset rajoitukset
Alla olevien kuuden arkkitehtonisen ehdon on täytettävä kaikki RESTful-verkkopalvelun sovellusliittymät.
Jatkossa opimme luomaan verkkopalvelua HTTP-menetelmillä. Käytämme kahta HTTP-menetelmää, GET ja POST, käyttäjien hallinnan luomiseen. Seuraavassa on joitain olennaisia käytettyjä toimintoja:
Ympäristön asetukset RESTful Web Services -palveluita varten
Työskentelyssä RESTful-verkkopalvelun kanssa käytämme Jersey Framework . Tämä kehys toteuttaa standardispesifikaatiota, nimeltään JAX-RS 2.0 API. Tämän määrityksen avulla voimme luoda RESTful-verkkopalveluita. Ennen kuin siirrymme kohti Jersey Frameworkia, opimme asentamaan Eclipse-, Tomcat- ja JDK-ympäristön tietokonejärjestelmääsi. Olemme selittäneet järjestelmän kaikkien kolmen ympäristön määrittämisen tarkalla ja yksinkertaisella tavalla.
Miten Java Development Kit (JDK) määritetään?
The Java Development Kit (JDK) on yksi tärkeimmistä Java-koodin ajamiseen käytetyistä paketeista. Javan JDK-paketin avulla käyttäjät voivat kirjoittaa Java-ohjelmia. Sinun on ladattava tämä JavaSE-niminen paketti tästä verkkosivusto :
Lataamisen jälkeen asenna se annettujen ohjeiden avulla. Kun olet valmis, sinun on korjattava PATH- ja JAVA_HOME-ympäristömuuttujat paikkaan, jossa 'java' ja 'javac' ovat. Yleensä 'java' on hakemistossa java_install_dir/bin, ja 'javac' on tiedostossa 'java_install_dir'.
Korjaaksesi PATH- ja JAVA_HOME-ympäristömuuttujat Windows XP-, NT- tai 2000-järjestelmissä, siirry kohtaan 'Oma tietokone', napsauta sitä hiiren kakkospainikkeella ja napsauta 'Ominaisuudet'. Huomaat 'Lisäasetukset'-välilehden. Napsauta sitä. ja napsauta myöhemmin 'Ympäristömuuttujat'. Muuta PATH- ja JAVA_HOME-ympäristömuuttujat 'java'- ja 'javac'-sijainnilla järjestelmässä ja napsauta 'OK'-painiketta. Ympäristömuuttujan asetukset on tehty.
Linux- ja Solaris-järjestelmissä noudata alla olevia ohjeita. Harkitse, että käytät C-kuorta ja olet ladannut JavaSE-tiedoston sijainnista /usr/local/jdk1.7.9_75. Päivitä .cshrc-tiedosto alla olevilla komennoilla:
|_+_|Kuinka ottaa Eclipse IDE käyttöön?
Ensimmäinen asia, jota sinun on noudatettava, on ladata Eclipsen uusimmat binaarit sen viralliselta sivulta verkkosivusto .
Kun olet ladannut uusimmat Eclipse-binaarit, aseta ne oikeaan paikkaan järjestelmässäsi. Oletetaan, että olemme löytäneet Eclipse-binaarit Windows-järjestelmissä C:eclipse-muodossa. Etsimme Eclipse-binaarit osoitteesta /usr/local/eclipse Linux- tai Unix-järjestelmässä. Kun olet sijoittanut sen oikeaan paikkaan, korjaa PATH-muuttuja paikkaan, jossa olet säilyttänyt Eclipse-binäärit.
Käynnistä Eclipse kaksoisnapsauttamalla eclipse.exe-tiedostoa tai voit kirjoittaa alla olevan komennon Windowsin komentokehotteeseen.
|_+_|Jos käytät Eclipseä Linux- tai Solaris-järjestelmässä, käytä alla olevaa komentoa sen käynnistämiseen.
|_+_|Jos kaikki menee hyvin ja asetukset ovat oikein, sovellus käynnistyy ja näyttöön tulee koodin kirjoittamisnäyttö.
Kuinka ottaa Apache Tomcat käyttöön?
Täällä ymmärrämme, kuinka voit asentaa ja määrittää järjestelmäympäristösi Apache Tomcatille. Ensinnäkin sinun on ladattava uusin Tomcat-versio tästä verkkosivusto .
Kun olet ladannut tämän uusimman Tomcat-version, aseta se sopivaan paikkaan järjestelmässäsi.
Ajatellaanpa, että olemme sijoittaneet Tomcat Apache -tiedoston Windows-järjestelmään C:apache-tomcat-7.0.59-sijaintiin. Sijoitamme Tomcat Apache -tiedoston osoitteeseen /usr/local/apache-tomcat-7.0.59 Linux tai Solaris-järjestelmään. Tämän jälkeen sinun on korjattava CATALINA_HOME-ympäristömuuttuja paikkaan, jossa olet säilyttänyt ladatun Tomcat Apache -tiedoston.
Voit käynnistää Tomcat-sovelluksen Windows-järjestelmässäsi napsauttamalla startup.bat-tiedostoa. Voit myös käyttää seuraavaa komentoa Tomcat-sovelluksen käynnistämiseen.
|_+_|tai
|_+_|Jos käytät Tomcat-sovellusta Linux- tai Solaris-järjestelmässä, sinun on noudatettava jotakin alla olevista komennoista käynnistääksesi sen.
|_+_|tai
|_+_|Kun kaikki on kunnossa, näyttöön tulee näyttö, johon voit kirjoittaa koodin ja suorittaa sen. Kaikki Tomcatin oletussovellukset ovat käytettävissä käymällä alla verkkosivusto :
Täydelliset tiedot Tomcat-kokoonpanosta ja siinä käynnissä olevista ohjelmista ovat saatavilla osoitteessa verkkosivusto .
Jos haluat pysäyttää Tomcat-sovelluksen Windows-järjestelmässä, kirjoita jokin seuraavista komennoista.
|_+_|tai
|_+_|Voit kirjoittaa minkä tahansa alla mainituista kahdesta komennosta Tomcat-sovelluksen sulkemiseksi.
|_+_|tai
|_+_|Kuinka perustaa Jersey Framework -kirjastot?
Kun olet määrittänyt JDK:n, Eclipsen ja Tomcat Apachen, voit nyt ryhtyä määrittämään Jersey Frameworkin. Lataa Jersey Framework noudattamalla alla olevia ohjeita peräkkäin.
Tiedät nyt, kuinka voit määrittää ympäristön RESTful-verkkopalvelulle. Noudata kaikkia yllä olevia vaiheita ja olet valmis kirjoittamaan Jersey-esimerkin.
RESTful ensimmäinen esimerkki – Jersey (JAX-RS)
Kun olet määrittänyt Java-, Tomcat Apache-, Eclipse- ja Jersey Framework -ympäristön, voit aloittaa verkkosovellusten rakentamisen RESTful API:n avulla. Tarkastellaan yhtä esimerkkiä Jersey Frameworkista saadaksemme tarkan käsityksen ohjelman kirjoittamisesta RESTful API:ssa. Sinun on noudatettava alla mainittuja vaiheita peräkkäin suorittaaksesi ohjelman onnistuneesti.
Vaihe 1: Luo Java-projekti
Luo Java-projekti käyttämällä Eclipse IDE:tä. Täällä luomme dynaamisen verkkoprojektin. Alla on vaiheet kehittää dynaamista verkkoa Projekti Eclipse IDE:ssä.
Vaihe 2: Lisää tarvittavat kirjastot
Kun olet luonut projektin ja tallentanut sen tietyllä nimellä, sinun on lisättävä projektiisi Jersey Framewoekin kirjastot ja riippuvuudet. Olemme listanneet jar-tiedostojen nimet, jotka kopioidaan luodun projektin WEB-INF/lib-hakemistoon paidan zip-kansiosta.
Jos haluat lisätä yllä mainitut jar-tiedostot projektiisi, napsauta projektia hiiren kakkospainikkeella, FirstRestEsimerkki . Napsauta Build Path -vaihtoehtoa ja siirry sitten Configure Build Path -kohtaan. Täällä näet ikkunan, jossa näkyy Java Build Path. Lisäksi Kirjastot-valikon alla näkyy Lisää JAR -painike. Lisää jar-tiedostot WEB-INF/lib-hakemistoon.
Vaihe 3: Luo lähdetiedostot
Olemme luoneet projektimme, nimeltä FirstRestExample, Eclipse IDE:ssä. Nyt meidän on luotava tämän projektin lähdetiedostot. Lähdetiedostojen tekemiseksi meidän on ensin luotava paketti, esimerkiksi com.restexample. Siirry pakettien hallintaan ja napsauta hiiren kakkospainikkeella src-vaihtoehtoa. Löydät Uusi-vaihtoehdon. Napsauta sitä ja napsauta myöhemmin Paketti-vaihtoehtoa.
Täällä sinun on luotava kolme erilaista tiedostoa com.restexample-paketin alle. Nimetään tiedostot nimellä EmployeeService.java, Employee.java ja EmployeeDao.java. Kolmessa tiedostossa, jotka loit com.restexmaple-paketin alla, ja sinun on kirjoitettava koodi. Kirjoitamme koodin ensin Employee.java-tiedostoon.
Työntekijä.java
|_+_|TyöntekijäDao.java
|_+_|EmployeeService.java
|_+_|Yllä olevassa EmployeeService.java-tiedostossa sinun on muistettava, että olemme käyttäneet merkintää @Path verkkopalvelun polun määrittämiseen. Lisäksi olemme myös luoneet polun tietylle verkkopalvelumenetelmälle @Path-merkinnän avulla.
Vaihe 4: Luo Web.xml-tiedosto
Lopuksi meidän on luotava Web.xml-tiedosto. Web.xml-tiedoston ensisijainen tavoite on määrittää Jersey Framework -servlet kehitettävän sovelluksen käyttöön.
web.xml
|_+_|Vaihe 5: Käännä ja suorita ohjelma
Kun olet kirjoittanut kaikki edellä mainitut neljä tiedostoa, olet nyt valmis kääntämään mainosohjelman. Olemme käyttäneet Eclipse IDE:tä kaikkien yllä olevien ohjelmien kirjoittamiseen. Siksi meidän on vietävä yllä oleva sovellus sotatiedostoon. Myöhemmin meidän on käännettävä ja suoritettava tämä sotatiedosto Tomcat Apache -työkalulla.
Näytämme alla, kuinka luodaan sotatiedosto Eclipse IDE:ssä.
Kun olet sijoittanut sotatiedoston Tomcatin webapps-hakemistoon, voit suorittaa sovelluksesi. Käytämme Chrome-laajennusta, Postinkantaja , testataksemme sovelluksiamme. Seuraava askel on sijoittaa kaikki työntekijät POSTIMIVIIN. Käytä tähän tarkoitukseen alla olevaa koodiriviä
|_+_|Jos haluat käyttää yllä olevaa koodiriviä Tomcat Apachessa, käytä HTTP GET -menetelmää. Tässä on ensimmäinen verkkopalvelusovelluksesi valmis.
Viestit RESTful Web Service API:ssa
RESTful API:ssa asiakas ja palvelin kommunikoivat keskenään HTTP-protokollan avulla. Viestintä tapahtuu, kun asiakas lähettää HTTP-pyynnön palvelimelle ja palvelin vastaa asiakkaalle HTTP-vastauksella. Asiakkaan ja palvelimen välistä kommunikaatiota HTTP-protokollan avulla kutsutaan viestintäksi. Yksi HTTP-viesti sisältää viestidataa ja metadataa. Metatiedot ovat viestin tietoja.
Katsotaanpa nyt HTTP-pyyntöä ja HTTP-vastausta RESTful-verkkopalvelun API:ssa.
HTTP-pyyntö
Asiakas ohjaa HTTP-pyynnön palvelimelle. Se pyytää resursseja palvelimelta. HTTP-pyyntöön, verbiin, URI:hin, HTTP-versioon, pyynnön otsikkoon ja pyyntötekstiin sisältyy viisi ensisijaista osaa. Seuraava on HTTP-pyyntömuoto.

Kuvailkaamme lyhyesti jokaista HTTP-pyynnön osaa.
HTTP-vastaus
Kun palvelin saa HTTP-pyynnön asiakkaalta, se vastaa asiakkaalle HTTP-vastauksella. HTTP-vastaus sisältää neljä merkittävää osaa: vastauskoodi, HTTP-versio, vastauksen otsikko ja vastausteksti. Alla on HTTP-vastausmuoto.

Keskustellaan jokaisesta HTTP-vastauksen osasta täällä.
Vastauskoodia kutsutaan myös tilaksi. Kun asiakas pyytää resurssia palvelimelta, vastauskoodi näyttää sen tilan. Jos tila on 404, resurssia ei löydy. Jos vastaus on ok, tila on 200.
HTTP-vastauksen toinen osa on HTTP-versio. Esimerkiksi HTTP v1.1, jossa v1.1 on versio.
Otsikko sisältää HTTP-vastausviestin metatiedot avain-arvo-parin muodossa. Siinä voi olla tietoja, kuten palvelimen tyyppi, sisällön pituus, vastaustiedot jne.
Response Body sisältää resurssin esityksen.
Yllä olevassa esimerkissä RESTful-verkkopalvelusovellusliittymästä olemme asettaneet http://localhost:8080/FirstRestExample/rest/EmployeeService/employees .
POSTMAN-sovelluksessa HTTP GET -menetelmällä. Kun pyyntö lähetetään GET-menetelmällä, saamme XML-sanoman seuraavasti. Nähdäksesi XML-vastauksen, sinun on napsautettava Esikatselu-painiketta.
|_+_|Resurssi RESTful Web Service API:ssa
RESTful-verkkopalvelun API:ssa jokaista sisältöä käsitellään resurssina. Asiakas pyytää resurssia, ja palvelin tarjoaa pääsyn tiettyyn asiakkaan pyytämään resurssiin. Käyttöoikeuden myöntämisen jälkeen asiakas voi muokata tai muuttaa resurssia. Resurssi voi olla HTML-sivuja, kuvia, tekstitiedostoja tai yritystietoja.
Jokaiselle resurssille on yksilöllinen numero REST-arkkitehtuurissa. Tätä yksilöllistä numeroa kutsutaan yhtenäiseksi resurssitunnisteeksi (URI). Yleensä REST-arkkitehtuurin resurssi esitetään XML- tai JSON-muodossa. Katsotaanpa nyt resurssien esitystapaa REST-arkkitehtuurissa.
Resurssien esitys REST-arkkitehtuurissa
REST-arkkitehtuurin resurssit esitetään XML- tai JSON-muodoissa. Voit käsitellä REST-resurssia tietokannan kokonaisuutena tai objektina olioohjelmoinnissa. Ensinnäkin resurssi tunnistetaan käyttämällä sen Uniform Resource Identifier (URI) -tunnusta. Myöhemmin päätetään resurssin esittämisen vakiomuoto. Kun asiakas pyytää resurssia, palvelin lähettää resurssin edelleen asiakkaan määrittelemässä muodossa.
Yllä olevassa RESTful-esimerkissämme resurssinamme on 'työntekijä'. Katsotaanpa, kuinka 'työntekijä' -resurssi esitetään XML-lomakkeella.
|_+_|Nyt kuvaamme samaa 'työntekijä' -resurssia JSON-muodossa.
|_+_|REST-arkkitehtuurissa voit esittää resursseja missä tahansa muodossa. RESTful-verkkopalvelun API:ssa on tapauksia, joissa yksi asiakas pyytää resurssia XML-muodossa, kun taas toinen asiakas pyytää samaa resurssia JSON-muodossa. Ainoa merkittävä asia resurssien esittämisessä on se, että se tulee esittää sellaisessa muodossa, että asiakas ymmärtää sen.
Kun resurssi esitetään missä tahansa muodossa, on joitain edellytyksiä otettava huomioon. Resurssin muodon tulee olla ymmärrettävä, täydellinen ja linkitettävä. Asiakkaan ja palvelimen REST-arkkitehtuurissa tulee kuitata resurssien esitysmuoto nopeasti. Minkä tahansa resurssin esittämiseen valitsemasi lomakkeen tulee sisältää täydelliset resurssitiedot. Resurssin esitysmuodon tulisi sallia linkki mihin tahansa muuhun resurssiin.
Useimmat kehittäjät käyttävät JSON- tai XML-muotoa edustamaan resurssia REST-arkkitehtuurissa. Nykyään on saatavilla lukuisia työkaluja JSON- tai XML-tietojen muokkaamiseen.
Oikaisu RESTful Web Service API:ssa
Osoitteen antaminen REST-arkkitehtuurissa tarkoittaa palvelimella olevien resurssien paikallistamista. Tiedämme, että resurssit tunnistetaan niiden yhtenäisten resurssitunnisteiden (URI) perusteella. Uniform Resource Identifierin muoto on seuraava:
:////
URI paikantaa tietyn resurssin palvelimelta. Yllä olevassa esimerkissämme URI on
|_+_|Käytimme HTTP GET -menetelmää yllä olevalle URI:lle.
Saatat ihmetellä, kuinka URI luodaan. Opastamme sinua yksinkertaisilla säännöillä URI:n rakentamisessa mille tahansa resurssille REST-arkkitehtuurissa.
Katsotaanpa esimerkkiä hyvästä ja huonosta URI:stä työntekijän hakemiseen.
Huono URI
|_+_|Hyvä URI
|_+_|Java (JAX-RS) RESTful Web Service API:ssa
JAX-RS tarkoittaa Jakarta RESTful Web Services -palvelua. Aiemmin se tunnettiin Java API:na RESTful Web Services -palveluille. JAX-RS on Java-pohjainen API, jonka avulla käyttäjät voivat luoda verkkopalveluita REST-arkkitehtuuriin perustuen. Uusin JAX-RS-versio on 2.0, julkaistu vuonna 2013. Tämä java-pohjainen API käyttää Java SE 5:n huomautuksia, mikä tekee verkkopalveluiden kehittämisestä ja käyttöönoton helpommin hallittavissa.
JAX-RS:n tekniset tiedot
Seuraavassa on joitain tyypillisesti käytettyjä huomautuksia resurssin yhdistämiseksi verkkopalveluresurssiksi.
Valtiottomuus ja RESTful Web Service API:n välimuisti
Valtiottomuus
Valtiottomuus tarkoittaa, että asiakastilaa ei pitäisi olla palvelimella. Asiakas lähettää kontekstinsa palvelimelle. Vastaanotettuaan kontekstin asiakkaalta palvelin tallentaa kontekstin ja käyttää sitä asiakkaiden tuleviin pyyntöihin. Esimerkiksi asiakas lähettää istunnon tunnisteen palvelimelle. Siksi palvelin säilyttää sen istuntojen tunnistamista varten.
Plussat:
Alla on joitain merkittäviä valtiottomuuden etuja RESTful-verkkopalvelun API:ssa.
Haittoja:
Välimuisti
Asiakas pitää hallussaan joitain resursseja palvelimelta vastauksen suhteen. Siksi asiakkaan ei tarvitse pyytää palvelimelta toistuvasti samaa resurssia. Tätä kutsutaan välimuistiksi. Palvelimen tarjoaman tietyn resurssin välimuistitietojen perusteella asiakas päättää tallentaako resurssin välimuistiin tietyn ajan vai ei koskaan tallentaa sitä välimuistiin.
Siinä on välimuistin hallintaotsikko, joka koostuu viidestä merkittävästä osasta: Julkinen, Yksityinen, Enimmäisikä, ei välimuistia/ei kauppaa ja on tarkistettava. Katsotaanpa kunkin osan kuvaus alla.
Asiakkaan välimuistin määrittämistä varten palvelinvastaus sisältää seuraavat otsikot:
HTTP-menetelmät ja niiden toiminnot RESTful API:ssa
Aiemmassa osiossa olemme nähneet HTTP-menetelmät ja niiden käyttötarkoitukset. Tämän segmentin tulee huomioida HTTPS-menetelmiä, niiden toimintaa ja toimintatyyppiä REST-arkkitehtuurissa.
Yllä olevassa RESTful-sovellusesimerkissä GET HTTP -menetelmää käytetään työntekijäluettelon saamiseen. Käytimme URI:tä GET-menetelmälle seuraavasti:
|_+_|HTTP GET -menetelmä hankkii luettelon työntekijöistä. Siksi sillä on vain luku -toimintotyyppi.
Voimme myös käyttää GET-menetelmää Id 1 -työntekijän hakemiseen. Id 1 -työntekijän hakemisen URI on,
|_+_|Tämä toiminto on myös vain luku -tyyppinen.
RESTful-sovellusesimerkissämme olemme käyttäneet HTTP POST -menetelmää työntekijän, jolla on tunnus 2, lisäämiseen. URI työntekijän lisäämiseksi tunnukselle 2 on
|_+_|Yllä oleva toimintotyyppi on ei-idempotentti.
Voimme käyttää HTTP DELETE -menetelmää työntekijän poistamiseen tunnuksella 1. Alla on URI työntekijän, jonka tunnus on 1, poistamiseen.
|_+_|DELETE-operaatio on idempotenttityyppistä.
REST-arkkitehtuurin HEAD-menetelmää käytetään HTTP-otsikon palauttamiseen. Se ei tarjoa HTTP-runkoa. Yllä olevassa työntekijäesimerkissämme voimme käyttää alla olevaa URI-osoitetta.
|_+_|Tämä toiminto on vain luku -tyyppinen.
Yllä olevassa REST Employee -sovelluksessa voimme käyttää HTTP PUT -menetelmää työntekijän päivittämiseen tunnuksella 2. Käytä alla olevaa URI:ta päivittääksesi työntekijän tunnuksella 2.
|_+_|HTTP OPTIONS -menetelmien avulla voit luetella kaikki verkkopalvelussa tuetut toiminnot. Voit käyttää seuraavaa URI-osoitetta tähän toimintoon.
|_+_|OPTIONS-toiminto on vain luku -tyyppistä.
Yllä olevista HTTP-menetelmistä ja niiden toiminnoista voimme päätellä, että GET-toiminto on vain luku -tyyppinen. DELETE- ja PUT-operaatiot ovat idempotenttityyppisiä. Näiden kahden toiminnon tulos pysyy samana, vaikka ne suoritetaan useita kertoja.
Johtopäätös
RESTful API on REST-arkkitehtuuripohjainen API, joka käyttää HTTP-menetelmiä tietojen käyttämiseen ja järjestämiseen. Kaikki REST-arkkitehtuurin tiedot katsotaan resurssiksi. Jos haluat oppia RESTful API:n, tämä viesti on täydellinen opas sinulle.
Olemme nähneet mitä RESTful-verkkopalvelun API on, miten se toimii, REST-arkkitehtuurissa käytetyt HTTP-menetelmät sekä REST-arkkitehtuurin ominaisuudet ja rajoitteet. Myöhemmin olemme kuvanneet RESTful API:n ympäristöasetukset. RESTful API -ympäristön asetuksissa olemme määrittäneet JDK-ympäristön, Tomcat Apachen, Eclipse IDE:n ja Jersey Frameworkin. Voit tarkastella yksinkertaista RESTful-sovellusesimerkkiä tässä opetusohjelmassa.
Seuraavaksi olemme käsitelleet useita RESTful-verkkopalvelun sovellusliittymän elementtejä, kuten viestit, tilattomuus, välimuisti, resurssit ja osoitteet. Olemme keskustelleet myös Java JAX-RS ja sen tekniset tiedot. Lopuksi olemme nähneet HTTP-menetelmät ja niiden toiminnot URI:n ja toimintotyypin kanssa.