Programmeerimine

RESTful – lühijuhend algajatele

30. oktoober 2021

Kui soovite ehitada rakendusprogrammi liides (API) veebirakenduste puhul kasutatakse RESTfuli. Mis on rakendusprogrammi liides (API)? Rakendusprogrammi liides on vahendaja mis tahes kahe tarkvararakenduse vahel. See võimaldab kahel tarkvararakendusel üksteisega turvaliselt suhelda. Tüüpilised API-rakendused igapäevaelus on Facebooki, vestlusrakenduste või ilmaennustuse rakenduse kasutamine mobiiltelefonis.

Vaatleme ühte otsest näidet, et mõista, mis API täpselt on? Mõelge restorani näitele. Käime restoranis ja sööme enda valitud toitu. Meie aga jälgime menüükaarti ja räägime kelnerile Teie poolt menüüst valitud kaupadest. Seejärel teavitab kelner teie tellimusest köögiosakonda ja teie toit valmib. Kui toit on valmis, serveerib kelner selle teile teie lauas. Siin on kelner liides teie ja köögiosakonna vahel. Sama juhtub kahe süsteemi suhtlemisel.

Rakendusprogrammi liides (API) on jagatud nelja põhitüüpi: OpenAPI-d, partneri API-d, sisemised API-d ja liit-API-d. OepnAPI-dele on juurdepääs kõigile lubatud, kuna need on avalikult kättesaadavad. Partner API-des vajab konkreetne kasutaja vastavat juurdepääsuõigust, kuna need ei ole avalikuks kasutamiseks välja töötatud. Sisemised API-d on spetsiaalselt loodud ettevõttesiseseks kasutamiseks. Lõpuks kasutatakse komposiit API-sid tavaliselt ettevõtte tegevuse ja jõudluse kiirendamiseks.

Teine API tüüp on veebiteenuste API-d. Seal on neli peamist veebiteenuse API-d, SOAP, XML-RPC, JSON-RPC ja REST. SEEP tähendab a Lihtne objekti juurdepääsu protokoll , mis edastab andmeid XML-vormingus. SOAP API hõlmab kasutamist Veebiteenuste määratluskeel (WSDL) selle liidese määratlemiseks. Teine veebiteenuse API on XML-RPC . Nagu nimigi ütleb, kasutas see andmete jagamiseks XML-vormi. XML-RPC API on lihtsam ja ligipääsetavam kui SOAP API.

Järgmine veebiteenuse API on JSON-RPC . See on sama API mis XML, kuid kasutab andmete jagamiseks JSON-vormingut. Lõpuks erineb REST API kõigist ülaltoodud kolmest. See on arhitektuuristandardite kogu. REST API-d nimetatakse ka RESTful API-ks. See on üks sagedamini kasutatavaid veebiteenuste API-sid, kuna see nõuab erakordselt vähem ribalaiust.

Selles artiklis näeme lühijuhendit veebiteenuse RESTful kohta. See postitus aitab teil õppida kõike RESTfuli veebiteenuse kohta. Oleme RESTfuli veebiteenuste kontseptsioone lihtsate näidete abil arusaadavamalt selgitanud. Üks asi, mida tuleks enne alustamist meeles pidada mõista PUHKUST API tähendab, et teil peavad olema paremad teadmised Java programmeerimiskeelest, HTML-ist, CSS-ist, AJAX-ist ja tekstiredaktorist, kuna RESTful on veebiteenus veebirakenduste arendamiseks. Niisiis, alustame oma RESTful API õpetust.

Sisukord

Mis on RESTful Web Service API?

Enne kui saame teada, mis on RESTful API, saame kõigepealt teada, mis veebiteenus tegelikult on. A veebiteenus on standardite või põhimõtete kogum, mis on vajalik andmete jagamiseks või vahetamiseks süsteemide vahel. Tänapäeval kasutame oma mobiiltelefonides ja lauaarvutites mitut rakendust. Need rakendused on kirjutatud paljudes programmeerimiskeeltes ja siiski töötavad need erinevatel operatsioonisüsteemidel. Veebiteenus võimaldab teil pääseda juurde konkreetsele tarkvararakendusele erinevates operatsioonisüsteemides.

RESTful API on veebiteenuse API. See sisaldab arhitektuuristandardite kogu ja kasutab HTTP-protokolli teatud andmetele juurdepääsuks ja nende kasutamiseks. REST tähendab Esinduslik riigiülekanne . RESTful API-s käsitletakse iga kaasatud komponenti ressursina. Nendele ressurssidele pääsete juurde kasutades HTTP protokoll meetodid.

RESTful API-s on kaasatud server ja klient. REST API kliendid pääsevad juurde serveri pakutavatele ressurssidele ja saavad nendega manipuleerida. Igal ressursil on eraldi URI või globaalne ID. URI-d või globaalset ID-d kasutades saame tuvastada RESTful API-s olevad ressursid. URI tähendab a Ühtne ressursi identifikaator . Ressursi esitusviisiks saate REST API-s kasutada teksti-, XML.JSON- või JSON-vormingut.

Veebiteenust RESTful kasutavad tavaliselt pilvetarbijad, võimaldades neil veebiteenustele juurde pääseda ja neid hallata. REST API on üks ihaldusväärsemaid valikuid tugeva API loomiseks. REST-arhitektuuri kasutades loodud API võimaldab kasutajatel pilveteenustega hallatavalt suhelda. Mõned populaarsed veebisaidid, mis kasutavad oma API-de loomiseks veebiteenust RESTful, on Amazoni veebiteenused (AWS), Twitter, LinkedIn ja Google.

RESTful Web Service API töö

Oleme vaatlenud veebiteenuse RESTful lühikirjeldust. Nüüd andke meile teada, kuidas RESTful API töötab. RESTful API jagab iga tehingu mis tahes kahe rakenduse vahel mitmeks väiksemaks mooduliks. Siin tähendab tehing andmete või teabe vahetamist. Iga moodul sisaldab tehingu olulist teavet. Seetõttu tunnevad arendajad end mugavalt ja paindlikult mis tahes veebirakenduse jaoks API loomisel.

Tänapäeval pakuvad paljud ettevõtted, nagu Cloud Data Management Interface (CDMI), AmazonS3 jne, oma konkreetseid mudeleid API arendamiseks. RESTful API veebiteenuses on ressurssidele juurdepääsuks palju käske. Ressursi esitus määratleb konkreetse ressursi oleku antud ajatemplil.

HTTP-meetodid veebiteenuse RESTful API-s

Veebiteenuse RESTful API kasutab ressurssidele juurdepääsuks ja nendega manipuleerimiseks HTTP-protokolli. RESTfuli veebiteenuses kasutatakse nelja peamist HTTP-meetodit: GET, PUT, POST, DELETE. Andke meile lühidalt teada kõigist nendest HTTP-meetoditest.

    SAADA:GET-meetod võimaldab kasutajatel pääseda juurde RESTful API ressurssidele. Kuid neid ei saa muuta ega manipuleerida. GET-meetodit kasutades saate lugeda ainult ressursse.PANGE:HTTP PUT meetod võimaldab teil muuta ressursse või muuta nende olekut. Samuti võimaldab see luua uue uue ressursi.POSTITUS:Uue ressursi loomiseks saate kasutada POST-meetodit.KUSTUTA:Ressursi kustutamiseks kasutatakse HTTP DELETE meetodit.

Veebiteenuse RESTful API toetab mitut andmevormingut, nagu application/xml, application/json, application/x-www-form-urlencoded, application.x-web+xml ja multipart/form-data.

RESTful API arhitektuuri omadused ja piirangud

Dr Roy Fielding on veebiteenuse RESTful API arendaja. Allpool on mõned RESTful API arhitektuuri olulised omadused ja piirangud.

RESTful API omadused

  1. RESTful API pakub lõppkasutajatele suurt jõudlust. Kui kasutaja klõpsab mis tahes lingil, kuvatakse talle kohesed tulemused. Ja arendajad pakuvad kasutajatele kõiki teenuseid.
  2. Teine RESTful API omadus on skaleeritavus. RESTful API pakub teenuseid regulaarselt, hoolimata kasutajate arvu suurenemisest või vähenemisest.
  3. RESTful API-l on ühtne liides. Kõik ressursid tuvastatakse nende vastavate URI-de abil. Seega muudab see ühtne liides RESTful API lihtsaks.
  4. Järgmine omadus on muudetavus. Kõik muudatused süsteemis peaksid toimuma lihtsalt ja mugavalt.
  5. RESTful API arhitektuur on väga kaasaskantav ja töökindel.

RESTful API arhitektuurilised piirangud

Mis tahes RESTfuli veebiteenuse API puhul peavad kehtima alltoodud kuus arhitektuurset tingimust.

  1. RESTfuli veebiteenuse API esimene arhitektuuriline piirang on see, et see peaks kasutama ühtset liidest. Kõik RESTful API ressursid tuleks tuvastada nende vastavate ühtsete ressursiidentifikaatorite (URI) abil. Neile tuleb juurde pääseda ja nendega manipuleerida ainult nelja HTTP-meetodi kaudu: PUT, POST, GET ja DELETE.
  2. RESTful API kliendil ja serveril peaks olema täpne esitus. Klient tegeleb ühtse liidese ja taotluste kogumisega. Teisest küljest reguleerib server turvalisust, juurdepääsu andmetele ja töökoormuse haldamist. Server hoiab kõiki ressursse ja klient küsib serverilt ressursse.
  3. Veel üks RESTfuli veebiteenuse API arhitektuurne piirang on olekuta toimingud. Klient ja server RESTful API-s peaksid järgima olekuta funktsioone. Kõik riigihaldustoimingud tuleks läbi viia kliendi poolel.
  4. Kõik RESTfuli veebiteenuse API-d peaksid vahemällu salvestama. Kui on kujutatud, et vahemällu salvestamine pole võimalik, siis ainult vahemällu salvestamist ei tohiks teha.
  5. Konkreetse rakenduse arhitektuur peaks sisaldama serverit mitmel kihil. Ühel kihil ei tohiks olla teavet teiste kihtide kohta, välja arvatud selle vahetu kiht.
  6. Üldiselt saadab server ressursside staatilised esitused kliendile XML- või JSON-vormingus. Samuti peaks see vajaduse korral edastama käivitatava koodi kliendile.

Järgmises segmendis õpime HTTP-meetodite abil veebiteenust genereerima. Kasutajahalduse loomiseks kasutame kahte HTTP-meetodit, GET ja POST. Järgmised on mõned olulised kasutatavad funktsioonid.

  1. Kasutades HTTP GET meetodit tühja POST-kehaga, kuvame kasutajanimesid sisaldava loendi. Võtke ühtne ressursiidentifikaator kui /Kasutaja/Teenus/kasutajad .
  2. Hiljem lisame loendisse iga kasutaja andmed. Sel eesmärgil kasutame HTTP POST-meetodit, mille POST-i kehas on JSON-string. Kasutage URI-d kui /User/Service/addUser .
  3. Lõpuks kuvame HTTP GET-meetodi abil eraldi kasutajate andmed. Hoidke POST-i keha tühi ja kasutage URI-d kui /User/Service/getUser/:id .

Keskkonna seadistamine RESTful veebiteenuste jaoks

Veebiteenusega RESTful töötamiseks kasutame Jersey raamistik . See raamistik rakendab standardset spetsifikatsiooni, mida nimetatakse JAX-RS 2.0 API-ks. Seda spetsifikatsiooni kasutades saame genereerida RESTful veebiteenuseid. Enne kui liigume Jersey Frameworki poole, õpime teie arvutisüsteemis seadistama Eclipse'i, Tomcati ja JDK keskkonda. Oleme selgitanud süsteemi kõigi kolme keskkonna seadistamist täpsete ja lihtsate sammudega.

Kuidas seadistada Java arenduskomplekti (JDK)?

The Java arenduskomplekt (JDK) on üks olulisi pakette, mida kasutatakse Java koodi käitamiseks. Java JDK-pakett võimaldab kasutajatel Java-programme kirjutada. Peate siit alla laadima selle paketi nimega JavaSE veebisait :

Pärast allalaadimist installige see esitatud juhiste abil. Kui see on tehtud, peate parandama PATH ja JAVA_HOME keskkonnamuutujad kohta, kus on 'java' ja 'javac'. Üldiselt on „java” kaustas java_install_dir/bin ja „javac” kaustas „java_install_dir”.

Keskkonnamuutujate PATH ja JAVA_HOME parandamiseks Windows XP, NT või 2000 süsteemides minge 'Minu arvutisse, paremklõpsake sellel ja klõpsake 'Atribuudid'. Märkate vahekaarti 'Täpsemalt'. Klõpsake sellel. ja hiljem klõpsake 'Keskkonnamuutujad'. Muutke PATH ja JAVA_HOME keskkonnamuutujaid asukohaga 'java' ja 'javac' süsteemis ning klõpsake nuppu 'OK'. Teie keskkonnamuutuja seadistamine on tehtud.

Linuxi ja Solarise süsteemide puhul järgige alltoodud samme. Arvestage, et kasutate C-shelli ja olete JavaSE-faili alla laadinud /usr/local/jdk1.7.9_75. Värskendage faili '.cshrc' järgmiste käskudega:

|_+_|

Kuidas seadistada Eclipse IDE?

Esimene asi, mida peate järgima, on Eclipse'i uusimad binaarfailid selle ametlikult alla laadida veebisait .

Pärast uusimate Eclipse'i binaarfailide allalaadimist asetage need oma süsteemis õigesse kohta. Oletame, et oleme Windowsi süsteemides Eclipse'i binaarfailid leidnud kaustas C:eclipse. Leiame Linuxi või Unixi süsteemi jaoks Eclipse'i binaarfailid asukohast /usr/local/eclipse. Kui olete selle õigesse kohta paigutanud, fikseerige muutuja PATH kohta, kus olete Eclipse'i binaarfaile hoidnud.

Eclipse'i käivitamiseks topeltklõpsake failil eclipse.exe või võite tippida alloleva käsu Windowsi käsureale.

|_+_|

Kui kasutate Eclipse'i Linuxi või Solarise süsteemis, kasutage selle käivitamiseks allolevat käsku.

|_+_|

Kui kõik läheb hästi ja häälestus on õige, käivitub rakendus ja kuvatakse koodi kirjutamise ekraan.

Kuidas seadistada Apache Tomcat?

Siin mõistame, kuidas installida ja seadistada oma süsteemikeskkonda Apache Tomcati jaoks. Esiteks peate selle jaoks alla laadima uusima Tomcati versiooni veebisait .

Pärast Tomcati uusima versiooni allalaadimist asetage see oma süsteemis sobivasse kohta.

Oletame, et paigutasime Tomcat Apache faili Windowsi süsteemi asukohta C:apache-tomcat-7.0.59. Asetame Tomcat Apache faili asukohta /usr/local/apache-tomcat-7.0.59 Linux või Solarise süsteem. Peale seda tuleb CATALINA_HOME keskkonnamuutuja fikseerida kohas, kus oled allalaaditud Tomcat Apache faili hoidnud.

Saate käivitada Tomcati rakenduse oma Windowsi süsteemis, klõpsates failil startup.bat. Tomcati rakenduse käivitamiseks saate kasutada ka järgmist käsku.

|_+_|

või

|_+_|

Kui kasutate Tomcati rakendust Linuxi või Solarise süsteemis, peate selle käivitamiseks järgima mõnda allolevatest käskudest.

|_+_|

või

|_+_|

Kui kõik on korras, kuvatakse ekraan, kuhu saate koodi kirjutada ja selle käivitada. Kõik Tomcati vaikerakendused on saadaval, külastades allpool veebisait :

Täielik teave Tomcati konfiguratsiooni ja sellel töötavate programmide kohta on saadaval aadressil veebisait .

Kui soovite Tomcati rakenduse Windowsi süsteemis peatada, tippige üks järgmistest käskudest.

|_+_|

või

|_+_|

Tomcati rakenduse sulgemiseks võite sisestada ühe kahest allpool mainitud käsust.

|_+_|

või

|_+_|

Kuidas seadistada Jersey Frameworki raamatukogusid?

Pärast JDK, Eclipse'i ja Tomcat Apache'i seadistamist võite nüüd asuda Jersey Frameworki seadistama. Jersey Frameworki allalaadimiseks järgige järjestikku allolevaid juhiseid.

  1. Esiteks peate Jersey Frameworki installimiseks otsustama operatsioonisüsteemi (nt Windows või Unix) üle. Kui valite Windowsi süsteemi, laadige alla ZIP-fail ja Unixi süsteemide puhul laadige alla .tz-fail.
  2. Järgmise sammuna tuleb alla laadida uusimad Jersey Frameworki binaarfailid veebisait .
  3. Pärast ZIP-faili allalaadimist Windowsi süsteemis peate selle lahti pakkima. Oletame, et olete alla laadinud faili jaxrs-ri-2.17.zip. Pärast selle faili lahtipakkimist pakub see kataloogistruktuuri asukohas E:jaxrs-ri-2.17jaxrs-ri.
  4. Kõik Jersey teegid asuvad kataloogis C:jaxrs-ri-2.17jaxrs-rilib ja sõltuvused asuvad kataloogis C:jaxrs-ri-2.17jaxrs-riext.
  5. Hiljem parandage muutuja CLASSPATH kohas, kus asuvad teie Jersey teegid, kataloogis C:jaxrs-ri-2.17jaxrs-rilib. Pidage meeles, et kui kasutate Eclipse'i rakendust, pole Jersey Frameworki jaoks muutujat CLASSPATH vaja parandada.

Nüüd teate, kuidas seadistada keskkonda veebiteenuse RESTful jaoks. Järgige kõiki ülaltoodud samme ja olete valmis Jersey näite kirjutama.

RESTful esimene näide – Jersey (JAX-RS)

Pärast Java, Tomcat Apache, Eclipse ja Jersey Frameworki keskkonna seadistamist saate alustada veebirakenduste loomist RESTful API abil. Vaatleme üht näidet Jersey raamistikus, et saada täpne ülevaade programmi kirjutamisest RESTful API-s. Programmi edukaks käivitamiseks peate järgima alltoodud samme järjestikku.

1. samm: looge Java projekt

Looge Java projekt Eclipse IDE abil. Siin loome dünaamilise veebiprojekti. Allpool on toodud sammud arendada dünaamilist veebi Projekt Eclipse IDE-s.

  1. Käivitage oma süsteemist rakendus Eclipse. Klõpsake suvandit Fail, klõpsake nuppu Uus ja valige Uus projekt.
  2. Hiljem valige viisardi loendist viisard Dynamic Web Project.
  3. Pärast viisardi valimist andke oma projektile soovitud nimi FirstRestNäide .
  4. Kui salvestate oma projekti nime viisardi aknas, minge Project Explorerisse ja märkate seal oma projekti nime.

2. samm: lisage vajalikud raamatukogud

Pärast projekti loomist ja kindla nimega salvestamist peate oma projektile lisama Jersey Framewoeki teegid ja sõltuvused. Oleme loonud jersey ZIP-kaustast loodud projekti kataloogi WEB-INF/lib jar-failide nimed, mida kopeerida.

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

Ülaltoodud jar-failide lisamiseks oma projektile paremklõpsake oma projektil, FirstRestNäide . Klõpsake suvandit Ehitamise tee ja seejärel valige Konfigureeri ehitustee. Siin näete akent, kus kuvatakse Java ehitustee. Lisaks näete menüü Raamatukogud all nuppu Lisa JAR-id. Lisage jar-failid kataloogi WEB-INF/lib.

3. samm: looge lähtefailid

Oleme loonud oma projekti nimega FirstRestExample Eclipse IDE-s. Nüüd peame selle projekti jaoks looma lähtefailid. Lähtefailide loomiseks peame esmalt looma paketi, näiteks com.restexample. Minge paketiuurijasse ja paremklõpsake suvandil src. Leiate valiku Uus. Klõpsake seda ja hiljem klõpsake valikut Pakett.

Siin peate paketi com.restexample alla looma kolm erinevat faili. Nimetagem failid EmployeeService.java, Employee.java ja EmployeeDao.java. Kolmes failis lõite paketi com.restexmaple all ja peate koodi kirjutama. Koodi kirjutame esmalt faili Employee.java.

Töötaja.java

|_+_|

TöötajaDao.java

|_+_|

EmployeeService.java

|_+_|

Ülaltoodud failis EmployeeService.java peate meeles pidama, et oleme veebiteenuse tee määramiseks kasutanud märkust @Path. Lisaks oleme loonud ka konkreetse veebiteenuse meetodi tee, kasutades @Path annotatsiooni.

4. toiming: looge fail Web.xml

Lõpuks peame looma Web.xml faili. Faili Web.xml põhieesmärk on määrata arendatavale rakendusele Jersey Frameworki servlet.

web.xml

|_+_|

5. samm: programmi kompileerimine ja käivitamine

Pärast kõigi ülaltoodud nelja faili kirjutamist olete nüüd valmis programmi reklaamide käivitamiseks kompileerima. Oleme kõigi ülaltoodud programmide kirjutamiseks kasutanud Eclipse IDE-d. Seetõttu peame ülaltoodud rakenduse sõjafaili eksportima. Hiljem peame selle sõjafaili Tomcat Apache tööriistas kompileerima ja käivitama.

Allpool näitame, kuidas Eclipse IDE-s sõjafaili luua.

  • Avage Eclipse IDE-s suvand Fail, klõpsake nuppu Eksport -> Meie -> Sõjafail. Seal peate valima oma projekti FirstRestNäide ja sihtkaust.
  • Hiljem peate failis leidma faili FirstRestExample.war Tomcati installikataloog valikuvõimalused webappsi kataloog . Ja käivitage Tomcati rakendus.

Pärast sõjafaili paigutamist Tomcati veebirakenduste kataloogi saate oma rakenduse käivitada. Kasutame Chrome'i laiendust, Postimees , meie rakenduste testimiseks. Järgmine samm on paigutada kõik töötajad POSTIMEES. Selleks kasutage allolevat koodirida

|_+_|

Ülaltoodud koodirea kasutamiseks Tomcat Apache'is kasutage HTTP GET-meetodit. Siin on teie esimene veebiteenuse rakendus valmis.

Sõnumid RESTful Web Service API-s

RESTful API-s suhtlevad klient ja server omavahel HTTP-protokolli kasutades. Side toimub siis, kui klient saadab serverile HTTP-päringu ja server vastab kliendile HTTP-vastusega. Kliendi ja serveri vahelist suhtlust HTTP-protokolli abil nimetatakse sõnumivahetuseks. Üks HTTP-sõnum sisaldab sõnumiandmeid ja metaandmeid. Metaandmed on sõnumiteave.

Vaatame nüüd HTTP-päringut ja HTTP-vastust veebiteenuse RESTful API-s.

HTTP taotlus

Klient suunab HTTP päringu serverisse. See küsib serverilt ressursse. HTTP-päringus, tegusõnas, URI-s, HTTP-versioonis, päringu päises ja päringu sisus on viis peamist osa. Järgmine on HTTP-päringu vorming.

PUHKUS

Kirjeldame lühidalt iga HTTP-päringu osa.

    Tegusõna:HTTP-päringus sisalduv tegusõna hõlmab nelja HTTP-meetodit: GET, POST, PUT ja DELETE.Ühtne ressursiidentifikaator (URI):HTTP-päringu järgmine osa on Uniform Request Identifier (URI). URI identifitseerib iga ressursi kordumatult.HTTP versioon:HTTP-päringu kolmas osa on HTTP-versioon. Näiteks HTTP v1.1, kus v1.1 on versioon.Taotluse päis:Taotluse päis sisaldab sõnumi metaandmeid. Taotluse päises olevad metaandmed sisalduvad võtme-väärtuste paaris. See võib koguda teavet, nagu kliendi tüüp, vahemälu sätted, sõnumi vorming jne.Taotluse sisu:HTTP-päringu päringu keha hõlmab ressursi esitust.

HTTP vastus

Kui server saab kliendilt HTTP päringu, vastab ta kliendile HTTP vastusega. HTTP-vastus sisaldab nelja olulist osa: vastuse kood, HTTP versioon, vastuse päis ja vastuse sisu. Allpool on HTTP vastuse vorming.

img 617dd1cb36593

Arutame siin iga HTTP vastuse osa.

    Vastuse kood:

Vastusekoodi nimetatakse ka olekuks. Kui klient küsib serverilt ressurssi, näitab vastusekood selle olekut. Kui olek on 404, siis ressurssi ei leitud. Kui vastus on hea, on olek 200.

    HTTP versioon:

HTTP vastuse teine ​​osa on HTTP versioon. Näiteks HTTP v1.1, kus v1.1 on versioon.

    Vastuse päis:

Päis sisaldab HTTP vastuse sõnumi metaandmeid võtme-väärtuste paari kujul. Sellel võib olla teavet, nagu serveri tüüp, sisu pikkus, vastuseandmed jne.

    Vastustekst:

Response Body sisaldab ressursi esitust.

Ülaltoodud RESTfuli veebiteenuse API näites oleme pannud http://localhost:8080/FirstRestExample/rest/EmployeeService/employees .

POSTMANIS, kasutades HTTP GET meetodit. Kui päring on saadetud GET-meetodil, saame XML-teate järgmiselt. XML-vastuse vaatamiseks peate klõpsama nuppu Eelvaade.

|_+_|

Ressurss RESTful Web Service API-s

Veebiteenuse RESTful API-s käsitletakse iga sisu ressurssina. Klient taotleb ressurssi ja server annab juurdepääsu konkreetsele kliendi soovitud ressursile. Pärast juurdepääsu andmist saab klient ressurssi muuta või muuta. Ressursiks võivad olla HTML-lehed, pildid, tekstifailid või äriandmed.

REST-arhitektuuris on iga ressursi jaoks kordumatu number. Seda kordumatut numbrit nimetatakse ühtseks ressursiidentifikaatoriks (URI). Üldiselt esitatakse REST-arhitektuuri ressurss XML- või JSON-vormingus. Vaatame nüüd ressursside esindatust REST arhitektuuris.

Ressursi esitus REST arhitektuuris

REST-arhitektuuri ressursid on esitatud XML- või JSON-vormingus. Saate käsitleda REST-ressurssi andmebaasis olemina või objektorienteeritud programmeerimises objektina. Esiteks tuvastatakse ressurss selle ühtse ressursiidentifikaatori (URI) abil. Hiljem otsustatakse ressursi esitamise standardformaat. Kui klient ressurssi taotleb, saadab server selle kliendi määratud kujul edasi.

Meie ülaltoodud RESTfuli näites on ressurss „töötaja”. Vaatame, kuidas „töötaja” ressurssi XML-vormi abil kujutatakse.

|_+_|

Nüüd kujutame sama 'töötaja' ressurssi JSON-vormingus.

|_+_|

REST-arhitektuuris saate esitada ressursse mis tahes vormingus. RESTfuli veebiteenuse API puhul on juhtumeid, kus üks klient taotleb ressurssi XML-vormis, teine ​​klient aga JSON-vormingus. Ainus oluline asi ressursi esituses on see, et see peaks olema esitatud sellises vormingus, et klient sellest aru saaks.

Kui ressurss on esitatud mis tahes vormingus, tuleb arvestada mõningate eeltingimustega. Ressursi vorming peaks olema arusaadav, täielik ja linkitav. REST-arhitektuuris klient ja server peaksid ressursi esitusvormingu kiiresti tunnistama. Iga vorm, mille valite ressursi esitamiseks, peaks sisaldama täielikku ressursiteavet. Ressursi esitusvorming peaks võimaldama linki mis tahes muule ressursile.

Enamik arendajaid kasutab JSON- või XML-vormi ressursi esindamiseks REST-arhitektuuris. Tänapäeval on JSON- või XML-andmete muutmiseks saadaval palju tööriistu.

Adresseerimine RESTful Web Service API-s

Adresseerimine REST-arhitektuuris eeldab serveris olevate ressursside asukoha määramist. Teame, et ressursid tuvastatakse nende ühtsete ressursiidentifikaatorite (URI) järgi. Ühtse ressursiidentifikaatori vorming on järgmine:

:////

URI määrab serveris konkreetse ressursi. Meie ülaltoodud näites on URI

|_+_|

Ülaltoodud URI jaoks kasutasime HTTP GET meetodit.

Võite küsida, kuidas URI genereeritakse. Juhendame teid mõne lihtsa reegliga REST-arhitektuuri mis tahes ressursi URI loomisel.

  1. Kui määrate oma veebiteenustes ressursse, kasutage alati mitmuse vormi. Ülaltoodud RESTfuli veebirakenduse näites oleme loonud ressursi „kasutajad”.
  2. Peate veenduma, et teie ressursi nimi ei sisalda tühikuid ega erisümboleid, nagu %, $, @ jne. Ressursi nimes võite kasutada sidekriipsu (-) või alakriipsu (_). Näiteks õige ressursi nimi on efektiivsed_töötajad, mitte efektiivsed@töötajad.
  3. Veebiteenuses RESTful ei ole URI-d tõstutundlikud. Kuid alati on parem hoida URI väiketähtedega.
  4. Veenduge, et kasutate ressurssidega toimingute tegemiseks mõnda HTTP-verbe või meetodit. Ülaltoodud RESTful rakenduses kasutasime HTTP GET meetodit.
  5. URI tuleks avaldada avalikult, kuna veebiteenused on avalikud teenused.

Vaatame näidet heast ja halvast URI-st töötaja toomiseks.

Kehv URI

|_+_|

Hea URI

|_+_|

Java (JAX-RS) RESTful Web Service API-s

JAX-RS tähendab Jakarta RESTful Web Services. Varem oli see RESTful Web Services jaoks tuntud kui Java API. JAX-RS on Java-põhine API, mis võimaldab kasutajatel luua REST-arhitektuuril põhinevaid veebiteenuseid. Uusim JAX-RS-i versioon on 2.0, mis ilmus 2013. aastal. See Java-põhine API kasutab Java SE 5 märkusi, muutes veebiteenuste arendamise ja juurutamise paremini hallatavaks.

JAX-RS spetsifikatsioonid

Järgmised on mõned tavaliselt kasutatavad märkused ressursi kui veebiteenuse ressursi vastendamiseks.

    @GET:Seda JAX-RSi spetsifikatsiooni kasutatakse ressursi toomiseks.@Path:@Path viitab veebiteenuses sisalduva klassi või meetodi teele.@DELETE:@DELETE ressurss kustutab konkreetse ressursi.@POST:Ülaltoodud spetsifikatsioon JAX-RSis loob uue ressursi.@PUT:Seda JAX-RS-i spetsifikatsiooni kasutatakse olemasoleva ressursi värskendamiseks.@Tarbib:@Consumes JAX-RS spetsifikatsioon tähistab HTTP-päringu tüüpi.@HEAD:Teine JAX-RS-i HTTP-meetod on @HEAD, mis pakub teavet selle kohta, kas meetod on saadaval või mitte.@QueryParam:Ülaltoodud spetsifikatsiooni kasutatakse päringuparameetri ja meetodile edastatava parameetri kombineerimiseks.@Toodab:Spetsifikatsioon @Produces kuvab HTTP vastuse tüübi.@PathParam:Ülaltoodud JAX-RS spetsifikatsiooni kasutatakse tee väärtuse kombineerimiseks meetodile edastatud parameetriga.@CookieParam:@CookieParam ühendab küpsise meetodile edastatud parameetriga.@MatrixParam:See JAX-RS spetsifikatsioon ühendab HTTP-maatriksi parameetri ja meetodile edastatava parameetri.@FormParam:Vormi väärtus kombineeritakse @FormParam abil meetodile edastatud parameetriga.@HeaderParam:HTTP-päis on seotud parameetriga, mis edastatakse meetodile @HeaderParam abil.@Kontekst:@Context viitab ressursi kontekstile.@DefaultValue:Ülaltoodud JAX-RS spetsifikatsioon määrab meetodile edastatud parameetri vaikeväärtusega.

Kodakondsusetus ja RESTful Web Service API vahemällu salvestamine

Kodakondsusetus

Kodakondsusetus tähendab, et kliendi olek ei tohiks serveris olla. Klient saadab oma konteksti serverisse. Kliendilt konteksti saamisel salvestab server konteksti ja kasutab seda edasiste kliendi päringute jaoks. Näiteks saadab klient seansi identifikaatori serverile. Seega hoiab server seda seansside tuvastamiseks.

Plussid:

Allpool on mõned olulised kodakondsusetuse eelised RESTfuli veebiteenuse API-s.

  • Kodakondsusetuse atribuuti kasutades töötleb veebiteenus iga meetodi taotlust eraldi.
  • Server ei hoia kliendi olekut ega varasemaid toiminguid. Seega muudab see rakenduse kujunduse lihtsamaks.
  • RESTfuli veebiteenused töötlevad praktiliselt HTTP-protokolle.

Miinused:

  • Kuna server ei sisalda kliendi olekut, nõuab veebiteenus iga kliendi päringu kohta rohkem andmeid.

Vahemällu salvestamine

Kliendil on vastuse osas mõned serveri ressurssid. Seetõttu ei pea klient serverilt korduvalt sama ressurssi taotlema. Seda nimetatakse vahemällu salvestamiseks. Serveri pakutava konkreetse ressursi vahemällu salvestamise teabe põhjal otsustab klient, kas salvestada ressurss teatud ajaks vahemällu või mitte kunagi vahemällu salvestada.

Seal on vahemälu juhtimise päis, mis koosneb viiest olulisest osast: avalik, privaatne, maksimaalne vanus, ilma vahemälu/poeta ja peab uuesti kinnitama. Vaatame allpool iga osa kirjeldust.

    Avalik:Iga komponent võib vahemällu salvestada avaliku ressursi.Privaatne:Kellelgi pole lubatud ressurssi vahemällu salvestada. Ainult klient ja server saavad ressurssi vahemällu salvestada.maksimaalne vanus:Maksimaalse vanuse element arvutatakse sekundites. See tähendab, kui kaua sekundit ressursi vahemällu salvestamine kehtib. Kui maksimaalne vanuseaeg on lõppenud, peab klient ressurssi uuesti taotlema.no-cache/no-store:Klient ei saa ressurssi vahemällu salvestada.tuleb uuesti kinnitada:Server peab ressursi uuesti valideerima, kui vahemällu salvestamise maksimaalne vanus on lõppenud.

Kliendi vahemälu konfigureerimiseks sisaldab serveri vastus järgmisi päiseid:

    Kuupäev:Ressursi loomise kuupäev ja kellaaeg on esitatud päises Kuupäev.Vahemälu juhtimine:Vahemälu juhtimise päis jälgib vahemällu salvestamist.Vanus:Vanust esitatakse sekundites. See on aeg, mil ressurss serverist vastu võetakse.Viimati muudetud:See päis kuvab kuupäeva ja kellaaega, millal ressurssi viimast korda värskendati.Aegub:See päis näitab vahemällu salvestamise aegumiskuupäeva ja kellaaega.

HTTP-meetodid ja nende toimingud RESTful API-s

Eelmises jaotises oleme näinud HTTP-meetodeid ja nende kasutusalasid. See segment jälgib REST-arhitektuuri HTTPS-i meetodeid, nende toiminguid ja toimingutüüpi.

    SAADA:

Töötajate loendi hankimiseks kasutatakse ülaltoodud RESTfuli rakenduse näites GET HTTP-meetodit. Kasutasime GET-meetodi jaoks URI-d järgmiselt:

|_+_|

HTTP GET meetod hangib töötajate nimekirja. Seetõttu on sellel kirjutuskaitstud toimingutüüp.

Id 1 töötaja leidmiseks saame kasutada ka GET-meetodit. ID 1 töötaja toomise URI on

|_+_|

See toiming on samuti kirjutuskaitstud tüüpi.

    POSTITUS:

Meie RESTfuli rakenduse näites oleme kasutanud HTTP POST meetodit töötaja sisestamiseks, kellel on ID 2. URI töötaja sisestamiseks ID 2 jaoks on

|_+_|

Ülaltoodud toimingutüüp on mitteidempotentne.

    KUSTUTA:

Id 1-ga töötaja kustutamiseks saame kasutada HTTP DELETE meetodit. Allpool on Id 1-ga töötaja kustutamise URI.

|_+_|

DELETE-operatsioon on idempotentset tüüpi.

    PEA:

HTTP-päise tagastamiseks kasutatakse REST-arhitektuuris meetodit HEAD. See ei paku HTTP keha. Meie ülaltoodud töötaja näite puhul saame kasutada allolevat URI-d.

|_+_|

See toiming on kirjutuskaitstud tüüpi.

    PANGE:

Ülaltoodud REST Employee rakenduses saame Id 2-ga töötaja värskendamiseks kasutada HTTP PUT meetodit. Id 2-ga töötaja värskendamiseks kasutage allolevat URI-d.

|_+_|
    VALIKUD:

HTTP OPTIONS meetodid võimaldavad teil loetleda kõik veebiteenuses toetatud toimingud. Selle toimingu jaoks saate kasutada järgmist URI-d.

|_+_|

Toiming OPTIONS on kirjutuskaitstud tüüpi.

Ülaltoodud HTTP-meetodite ja nende toimingute põhjal võime järeldada, et GET-operatsioon on kirjutuskaitstud tüüpi. Tehted DELETE ja PUT on idempotentset tüüpi. Nende kahe toimingu tulemus jääb samaks, isegi kui neid tehakse mitu korda.

Järeldus

RESTful API on REST-i arhitektuuril põhinev API, mis kasutab andmetele juurdepääsuks ja nende korraldamiseks HTTP-meetodeid. Kõiki REST-arhitektuuri andmeid peetakse ressursiks. Kui soovite RESTful API-t õppida, on see postitus teile täielik juhend.

Oleme näinud, mis on RESTful veebiteenuse API, kuidas see töötab, REST arhitektuuris kasutatavad HTTP meetodid ning REST arhitektuuri omadused ja piirangud. Hiljem oleme kujutanud RESTful API keskkonna seadistust. RESTful API keskkonna seadistuses oleme seadistanud JDK keskkonna, Tomcat Apache, Eclipse IDE ja Jersey Frameworki. Selles õpetuses saate jälgida lihtsat RESTfuli rakenduse näidet.

Järgmisena oleme käsitlenud mitmeid RESTfuli veebiteenuse API elemente, nagu sõnumid, kodakondsusetus, vahemällu salvestamine, ressursid ja aadressid. Oleme arutanud ka Java JAX-RS ja selle spetsifikatsioonid. Lõpuks oleme näinud HTTP-meetodeid ja nende toiminguid URI ja operatsioonitüübiga.