Zašto USE REST API:
U tradicionalnim web aplikacijama, recimo, jednostavni PHP web poslužitelj,
- Tražite stranicu (recimo php) s poslužitelja.
- Poslužitelj pronalazi datoteku skripte (php) koja odgovara stranici koju ste zatražili i počinje je izvršavati. Skripta se povezuje s bazom podataka, traži potrebne informacije, postavlja ih na stranicu na lijepo oblikovan način (miješanjem HTML + CSS + JavaScript s podacima) što posjetitelju izgleda vrlo privlačno.
- Tada ga poslužitelj vraća posjetitelju.
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.