Veebiprogrammeerimine

Kuidas ülejäänud API-d töötavad

Kuidas ülejäänud API-d töötavad
REST või RESTful API-d on tänapäeval kõikjal. Võib-olla olete seda kasutanud isegi sellest midagi teadmata.  Selles artiklis räägin REST API-dest. Arutlen, kuidas nad töötavad, nende rakendusi ja palju muud. Alustame.

Miks KASUTADA REST API-d:

Oletame, et traditsioonilistes veebirakendustes on lihtne PHP veebiserver,

Selles mudelis toimub kogu töötlemine serveri poolel. Nii et server peab tegema rohkem tööd. Siin ei ole andmed lehest eraldi, vaid need on sügavalt lehte sisse põimitud.

Kui soovite tulevikus oma veebisaidile teha Androidi või iOS-i rakenduse või töölauarakenduse, peate tegema palju rohkem tööd. Peate andmebaasiga ühenduse looma kõigist neist rakendustest, mis ei pruugi olla eriti turvaline. Arendusaeg pikeneb ja kaasaskantavuse probleemid tekivad.

Oletame, et olete oma veebisaidil edukalt loonud rakendused Desktop, Android ja iOS. Kõigis neist kuvatakse väiketähtedega kasutaja täisnimi. Nüüd soovite seda näidata suurtähtedega. Noh, arendajad peavad selleks teie rakenduse töölaua, Androidi ja iOS-i versiooni eraldi muutma. Mis on aeganõudev. Reaalses maailmas pole asjad nii lihtsad kui see. Niisiis, rakenduse ühel versioonil (oletame, et töölaua versioon) võib värskendusprotsessis olla tõsine viga. Selle hiljem parandamine võtab rohkem aega. Kas näete, kuidas arendusaeg pikeneb? See lahendus pole samuti kaasaskantav.

REST API-s küsite API-serverilt, mida vajate, ja see saadab teile ainult teie soovitud teabe, serveris pole täiendavat vormindamist. Serveris pole vaja tarbetut töötlemist. Niisiis, teie veebisaidi ja rakenduste toimivus on loomulikult paranenud. Samuti saate samu andmeid kasutada oma veebisaidil, töölauarakenduses, Androidi ja iOS-i rakendustes. Serverites tehtud muudatused kajastuvad API-d kasutavates rakendustes. Samuti väheneb rakenduse väljatöötamise aeg ja maksumus.

Kuidas REST API töötab:

REST API-del on lõpp-punktid. Lõpp-punkt pole midagi muud kui URL, kuid kenasti vormindatud kujul ja tähendusrikas. See kasutab omapäraseid HTTP-päringuid (näiteks Hangi, POSTITA, PANE, KUSTUTA jne), et otsustada, mida teha, kui pääsete juurde igale lõpp-punktile. Nendest räägin hiljem.

REST API väljundvorming on JSON, tuntud ka kui JavaScripti objektide märge.

Näide a väljundist Hangi taotlus REST API-le / users / id / 12 tulemus võib välja näha järgmine:


"id": 12,
"nimi": "David Smith",
"vanus": 42,
"telefonid": ["124-211-2341", "889-211-4545"],
"riik": "USA"

Nagu näete, tegin a Hangi taotlus sisse / users / id / 12 lõpp-punkt öelda REST API-le, et see annaks mulle teavet kasutaja kohta, kellel on id 12. Sain just seda teavet, mida palusin, ei rohkem ega vähem.

Oletame nüüd, et soovite teavet viimase 10 kasutaja kohta, kes on teie veebisaidil registreerunud. Võite teha a Hangi taotlus sisse / users / latest / 10 lõpp-punkt.

Uusi andmeid saate oma serverisse lisada ka REST API abil. Tavaliselt HTTP POSTITA päringut kasutatakse selleks, et paluda REST API-l lisada uusi andmeid API-serverisse.

Näiteks võite teha a POSTITA taotlus sisse / kasutajad lõpp-punkt uue kasutaja andmetega ja see lisatakse teie API-serveri andmebaasi. Samuti saate oma API konfigureerida päringu oleku tagastamiseks.


"statusCode": 400,
"statusText": "Kasutaja lisamine õnnestus.",
"andmed":
"id": 13,
"nimi": "Mary Smith",
"vanus": 35,
"telefonid": ["124-211-2341", "889-211-4545"],
"riik": "USA"

Nagu näete, statusCode ja statusText JSON objekti atribuut teatab API kliendile, et kasutaja on edukalt lisatud. Lisatud andmed tagastatakse ka andmed objekti JSON omadus. Saate oma API konfigureerida just nii, nagu soovite.

Olemasolevat kirjet saate uuendada ka API serveri andmebaasist. The PANE HTTP-päringut kasutatakse API-otspunktis teie API-serveri andmebaasis olemasolevate andmete värskendamiseks.

Oletame näiteks, et soovite värskendada kasutaja telefoninumbrit ID-ga 13. Võite teha a PANE taotlus API lõpp-punkti kohta / user / id / 13.


"statusCode": 200,
"statusText": "Kasutaja uuendatud.",
"old_data":
"id": 13,
"nimi": "Mary Smith",
"vanus": 35,
"telefonid": ["124-211-2341", "889-211-4545"],
"riik": "USA"
,
"uued_andmed":
"id": 13,
"nimi": "Mary Smith",
"vanus": 35,
"telefonid": ["100-211-1111", "140-211-1145"],
"riik": "USA"

Nagu näete, on värskendustoiming edukas. Vanad ja uued andmed tagastatakse vana_andmed ja uus_andmed vastavalt objekti JSON omadus.

Andmeid saate kustutada ka API serveri andmebaasist HTTP abil KUSTUTA taotlus API lõpp-punkti kohta.

Näiteks ID-ga kasutaja kustutamiseks võite teha järgmist KUSTUTA taotlus API lõpp-punkti kohta / user / id / 12.


"statusCode": 150,
"statusText": "Kasutaja on eemaldatud.",
"andmed":
"id": 12,
"nimi": "David Smith",
"vanus": 42,
"telefonid": ["124-211-2341", "889-211-4545"],
"riik": "USA"

Nagu näete, kustutatakse kasutaja ja kustutatud kasutajaandmed tagastatakse andmed objekti JSON omadus.

Olen selgitanud standardviisi Hangi, POSTITA, PANE ja KUSTUTA HTTP-taotlus API-lõpp-punktides CRUD-i (loomine, lugemine, värskendamine ja kustutamine) toimingu tegemiseks REST API abil. Kuid saate oma API konfigureerida teatud HTTP-päringu korral teatud asju tegema. Siin pole midagi parandatud. Näiteks saate API-d värskendada, kasutades Hangi HTTP taotlus. Sa ei pea kasutama PANE. See sõltub API disainerist.

Kujundate ka API lõpp-punktid. Sisukate nimede andmine oma API lõpp-punktidele muudab teie REST-i API kasutamise palju lihtsamaks.

REST API rakendused:

API-d muudavad rakenduse arendamise lihtsamaks ja modulaarsemaks. REST API abil saate oma rakenduse hõlpsalt erinevatele platvormidele portida.

Kõik, mida peate tegema, on oma rakenduse REST API kujundamine ja väljatöötamine. Seejärel saate oma REST API-d kasutada oma veebisaidil, Androidi rakenduses, iOS-i rakenduses, Windowsi töölauarakenduses ja Linuxi rakenduses jne. Nii kasutavad kõik teie platvormil olevad rakendused sama loogikat ning teie arendusaeg ja -kulud vähenevad. Ka rakendusi on lihtsam hallata. REST API-sid kasutatakse ka tänapäeval kiiresti ühe lehe veebirakendustes.

Olen kirjutanud artikli REST API-de kirjutamise kohta Pythoni abil.  Täname selle artikli lugemise eest.

Kuidas kuvada OSD ülekatet täisekraanil Linuxi rakendustes ja mängudes
Täisekraaniga mängude mängimine või rakenduste kasutamine häireteta täisekraanirežiimis võib teid paneelil või tegumiribal kuvatavast asjakohasest süs...
Viis parimat mängu püüdmise kaarti
Me kõik oleme YouTube'is voogesituse mänge näinud ja armastanud. PewDiePie, Jakesepticye ja Markiplier on vaid mõned tipptasemel mängijatest, kes on t...
Kuidas mängu Linuxis arendada
Kümme aastat tagasi ei osanud paljud Linuxi kasutajad ennustada, et nende lemmikoperatsioonisüsteem on ühel päeval populaarne kommertsvideomängude män...