Web programiranje

Kako funkcioniraju API-ji za odmor

Kako funkcioniraju API-ji za odmor
API-ji REST ili RESTful danas su svugdje. Možda ste ga koristili i bez da ste o tome išta znali.  U ovom ću članku govoriti o REST API-ima. Razgovarat ću o njihovom radu, njihovim aplikacijama i mnogim drugima. Započnimo.

Zašto USE REST API:

U tradicionalnim web aplikacijama, recimo, jednostavni PHP web poslužitelj,

U ovom se modelu sva obrada vrši na strani poslužitelja. Dakle, poslužitelj mora obaviti više posla. Ovdje podaci nisu odvojeni od stranice, već su duboko ugrađeni u stranicu.

Ako u budućnosti želite izraditi Android aplikaciju ili iOS aplikaciju ili Desktop aplikaciju svoje web stranice, morat ćete napraviti puno više posla. Morat ćete se povezati s bazom podataka izravno iz svake od ovih aplikacija, što možda nije baš sigurno. Vrijeme razvoja povećat će se i pojavit će se problemi prenosivosti.

Recimo da ste uspješno izradili aplikacije za stolno računalo, Android i iOS na svojoj web lokaciji. Puno ime korisnika prikazuje se malim slovima u svakom od njih. Sada biste to željeli prikazati velikim slovom. Pa, programeri moraju zasebno izmijeniti verziju vaše aplikacije za radnu površinu, Android i iOS kako bi to učinili. Što je dugotrajno. U stvarnom svijetu stvari neće biti tako jednostavne kao ovaj. Dakle, jedna verzija aplikacije (recimo verzija za radnu površinu) može imati ozbiljnu grešku u procesu ažuriranja. Popravljanje kasnije trajalo bi više vremena. Možete li vidjeti kako se vrijeme razvoja povećava? Ovo rješenje također nije prijenosno.

U REST API-ju pitate API poslužitelja što vam treba i on vam šalje samo informacije koje tražite, a na poslužitelju se ne vrši dodatno formatiranje. Nema potrebe za nepotrebnom obradom na poslužitelju. Dakle, izvedba vaše web stranice i aplikacija prirodno se poboljšava. Također, iste podatke možete koristiti na web mjestu, u aplikaciji za stolne računare, u Androidu i iOS aplikacijama. Promjene na poslužiteljima odražit će se na aplikacijama koje koriste API. Smanjit će se i vrijeme izrade aplikacije i troškovi.

Kako funkcionira REST API:

API-ji REST imaju krajnje točke. Krajnja točka nije ništa drugo nego URL, ali na lijepo oblikovan način i smislen je. Koristi izvorne HTTP zahtjeve (kao što je DOBITI, OBJAVI, STAVITI, IZBRISATI itd.) kako biste odlučili što učiniti kada pristupate svakoj krajnjoj točki. O njima ću kasnije.

Izlazni format REST API-ja je JSON, poznat i kao JavaScript Object Notation.

Primjer rezultata a DOBITI zahtjev za REST API na / users / id / 12 krajnja točka može izgledati kako slijedi:


"id": 12,
"name": "David Smith",
"dob": 42,
"telefoni": ["124-211-2341", "889-211-4545"],
"country": "SAD"

Kao što vidite, učinio sam a DOBITI zahtjev na / users / id / 12 krajnju točku da kaže REST API-ju da mi da informacije o korisniku koji ima iskaznica 12. Dobio sam samo informacije koje sam zatražio, ništa više, ništa manje.

Recimo sada, želite informacije o posljednjih 10 korisnika koji su se prijavili na vaše web mjesto. Možete učiniti a DOBITI zahtjev na / users / najnovije / 10 krajnja točka.

Na svoj poslužitelj možete dodati i nove podatke koristeći REST API. Obično je HTTP OBJAVI zahtjev se koristi za traženje od API-ja REST da doda nove podatke na API poslužitelj.

Na primjer, možete napraviti OBJAVI zahtjev na / korisnici krajnja točka s podacima novog korisnika i bit će dodana u bazu podataka na vašem API poslužitelju. Također možete konfigurirati svoj API da vraća status zahtjeva.


"statusCode": 400,
"statusText": "Korisnik je uspješno dodan.",
"podaci":
"id": 13,
"name": "Mary Smith",
"dob": 35,
"telefoni": ["124-211-2341", "889-211-4545"],
"country": "SAD"

Kao što vidite, statusCode i statusText svojstvo JSON objekta obavještava API klijenta da je korisnik uspješno dodan. Dodani podaci vraćaju se i u podaci svojstvo JSON objekta. API možete konfigurirati baš onako kako želite.

Postojeći zapis možete ažurirati i iz baze podataka API poslužitelja. The STAVITI HTTP zahtjev koristi se na API završnoj točki za ažuriranje postojećih podataka u bazi podataka vašeg API poslužitelja.

Na primjer, recimo da želite ažurirati telefonski broj korisnika s ID-om 13. Možete učiniti a STAVITI zahtjev za krajnju točku API-ja / user / id / 13.


"statusCode": 200,
"statusText": "Korisnik ažuriran.",
"stari_podaci":
"id": 13,
"name": "Mary Smith",
"dob": 35,
"telefoni": ["124-211-2341", "889-211-4545"],
"country": "SAD"
,
"novi_podaci":
"id": 13,
"name": "Mary Smith",
"dob": 35,
"telefoni": ["100-211-1111", "140-211-1145"],
"country": "SAD"

Kao što vidite, operacija ažuriranja je uspješna. Stari i novi podaci vraćaju se u stari_podaci i novi_podaci svojstvo JSON objekta.

Također možete izbrisati podatke iz baze podataka API poslužitelja pomoću HTTP-a IZBRISATI zahtjev za krajnju točku API-ja.

Na primjer, da biste izbrisali korisnika s id 12, možete napraviti IZBRISATI zahtjev za krajnju točku API-ja / user / id / 12.


"statusCode": 150,
"statusText": "Korisnik uklonjen.",
"podaci":
"id": 12,
"name": "David Smith",
"dob": 42,
"telefoni": ["124-211-2341", "889-211-4545"],
"country": "SAD"

Kao što vidite, korisnik se briše, a izbrisani korisnički podaci vraćaju se u podaci svojstvo JSON objekta.

Objasnio sam standardni način korištenja DOBITI, OBJAVI, STAVITI i IZBRISATI HTTP zahtjev na API završnim točkama za izvršavanje CRUD (Stvaranje, čitanje, ažuriranje i brisanje) operacije pomoću REST API-ja. Ali svoj API možete konfigurirati da radi određene stvari na određeni HTTP zahtjev. Ovdje ništa nije popravljeno. Na primjer, možete ažurirati API pomoću DOBITI HTTP zahtjev. Ne morate koristiti STAVITI. To ovisi o dizajneru API-ja.

Dizajnirate i krajnje točke API-ja. Davanje suvislih imena krajnjim točkama API-ja čini vaš REST API mnogo lakšim za upotrebu.

Primjene REST API-ja:

API-ji čine razvoj aplikacija lakšim i modularnim. Uz pomoć REST API-ja možete jednostavno prenijeti svoju aplikaciju na različite platforme.

Sve što morate učiniti je dizajnirati i razviti REST API vaše aplikacije. Tada možete koristiti svoj REST API sa svoje web stranice, Android aplikacije, iOS aplikacije, Windows radne površine i Linux aplikacije itd. Na taj će način sve vaše aplikacije na drugoj platformi koristiti istu logiku, a vrijeme i troškovi razvoja bit će smanjeni. I aplikacijama će biti lakše upravljati. API-ji REST i danas se brzo koriste u web-aplikacijama s jednom stranicom.

Napisao sam članak o pisanju REST API-ja pomoću Pythona.  Hvala što ste pročitali ovaj članak.

Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...
Korisni alati za Linux igrače
Ako volite igrati igre na Linuxu, velika je vjerojatnost da ste možda koristili aplikacije i uslužne programe poput Wine, Lutris i OBS Studio za pobol...
HD Remastered igre za Linux koje ranije nisu imale Linux izdanje
Mnogi programeri i izdavači igara dolaze s HD remasterom starih igara kako bi produžili životni vijek franšize, molimo obožavatelje da zatraže kompati...