R esittelevä S tate T ransfer (REST) on arkkitehtoninen tyyli, joka määrittelee joukon rajoitteita, joita käytetään verkkopalvelujen luomiseen. REST API on tapa käyttää verkkopalveluita yksinkertaisesti ja joustavasti ilman käsittelyä.
REST-tekniikkaa suositaan yleensä vankempaan Simple Object Access Protocol (SOAP) -tekniikkaan verrattuna, koska REST käyttää vähemmän kaistanleveyttä, yksinkertaista ja joustavaa, mikä tekee siitä sopivamman Internetin käyttöön. Sitä käytetään tietojen hakemiseen tai antamiseen verkkopalvelusta. Kaikki REST API:n kautta tapahtuva viestintä käyttää vain HTTP-pyyntöä.
Työskentely: Pyyntö lähetetään asiakkaalta palvelimelle web-URL-osoitteen muodossa HTTP GET- tai POST- tai PUT- tai DELETE-pyynnönä. Tämän jälkeen vastaus tulee takaisin palvelimelta resurssin muodossa, joka voi olla mitä tahansa, kuten HTML, XML, Image tai JSON. Mutta nyt JSON on suosituin verkkopalveluissa käytetty muoto.
Rakenna REST API Mastery Opi integroimaan suosittuja ja käytännöllisiä Python REST -sovellusliittymiä Django-verkkosovelluksiin Educativen interaktiivisen taitopolun avulla Ryhdy Python-pohjaiseksi API-integraattoriksi. Rekisteröidy osoitteessa Educative.io koodilla GEEKS10 säästääksesi 10 % tilauksestasi.
Sisään HTTP on viisi menetelmää, joita käytetään yleisesti REST-pohjaisessa arkkitehtuurissa, eli POST, GET, PUT, PATCH ja DELETE. Nämä vastaavat luonti-, luku-, päivitys- ja poistotoimintoja (tai CRUD-toimintoja). On muitakin menetelmiä, joita käytetään harvemmin, kuten OPTIONS ja HEAD.
- SAADA: HTTP GET -menetelmää käytetään lukea (tai noutaa) resurssin esityksen. Turvallisella polulla GET palauttaa esityksen XML- tai JSON-muodossa ja HTTP-vastauskoodin 200 (OK). Virhetapauksessa se useimmiten palauttaa 404 (EI LÖYTY) tai 400 (HUONON PYYNTÖ).
- LÄHETTÄÄ: POST-verbiä käytetään useimmiten luoda uusia resursseja. Sitä käytetään erityisesti alisteisten resurssien luomiseen. Eli jonkin muun (esim. emo-) resurssin alaisuudessa. Kun luonti on onnistunut, palauta HTTP-tila 201 ja palauta Sijainti-otsikko, jossa on linkki juuri luotuun resurssiin, jonka HTTP-tila on 201.
HUOMAUTUS: POST ei ole turvallinen eikä idempotentti.
- LAITTAA: Sitä käytetään päivittäminen kyvyt. PUT:iin voi kuitenkin myös tottua luoda resurssi siinä tapauksessa, että asiakas valitsee resurssitunnuksen palvelimen sijaan. Toisin sanoen, jos PUT on URI:hen, joka sisältää olemattoman resurssitunnuksen arvon. Onnistuneen päivityksen jälkeen palauta PUT:sta 200 (tai 204, jos ei palauta mitään sisältöä). Jos käytät luomiseen PUT:ta, palauta HTTP-tila 201 onnistuneen luomisen yhteydessä. PUT ei ole turvallinen toiminta, mutta se on idempotentti.
- LAIKU: Se on tottunut muuttaa kykyjä. PATCH-pyynnön täytyy sisältää vain resurssin muutokset, ei koko resurssia. Tämä muistuttaa PUT:ta, mutta runko sisältää joukon ohjeita, jotka kuvaavat kuinka palvelimella olevaa resurssia tulee muokata uuden version tuottamiseksi. Tämä tarkoittaa, että PATCH-rungon ei pitäisi olla vain resurssin muokattu osa, vaan jonkinlainen korjaustiedosto, kuten JSON Patch tai XML Patch. PATCH ei ole turvallinen eikä idempotentti.
- POISTAA: Se on tottunut poistaa URI:n tunnistama resurssi. Jos poistaminen onnistuu, palauta HTTP-tila 200 (OK) ja vastauksen runko.
Idempotenssi: Idempotentti HTTP-menetelmä on HTTP-menetelmä, jota voidaan kutsua monta kertaa ilman erilaisia tuloksia. Ei ole väliä, kutsutaanko menetelmää vain kerran vai kymmenen kertaa. Tuloksen pitäisi olla sama. Jälleen tämä koskee vain tulosta, ei itse resurssia.
Esimerkki:
C
kuinka käyttää mysql-työpöytää
1. a = 4> // It is Idempotence, as final value(a = 4)> > // would not change after executing it multiple> > // times.> 2. a++> // It is not Idempotence because the final value> > // will depend upon the number of times the> > // statement is executed.> |
>
>
Pyyntö ja vastaus
Nyt näemme, kuinka pyyntö ja vastaus toimivat erilaisten kohdalla HTTP menetelmiä. Oletetaan, että meillä on API( https://www.techcodeview.com ) kaikille opiskelijoille tiedot gfg.
- SAADA: Pyyntö kaikille opiskelijoille.
Pyyntö |
GET:/api/oppilaat |
- LÄHETTÄÄ: Pyyntö tietojen lähettämiseksi/luomiseksi/lisäämiseksi
Pyyntö |
POST:/api/opiskelijat {nimi:Raj} |
- PUT tai PATCH: Tietojen päivityspyyntö osoitteessa id=1
Pyyntö |
PUT tai PATCH:/api/students/1 {nimi:Raj} |
- POISTAA: Pyyntö tietojen poistamiseksi id=1
Pyyntö |
POISTA:/api/students/1 |
RESTful-verkkopalvelut ovat erittäin suosittuja, koska ne ovat kevyitä, erittäin skaalautuvia ja ylläpidettäviä, ja niitä käytetään hyvin yleisesti luomaan API-verkkopohjaisia sovelluksia.