Webprogrammering

Hvordan fungerer Rest APIer

Hvordan fungerer Rest APIer
REST eller RESTful APIer er overalt i disse dager. Du har kanskje brukt det selv uten å vite noe om det.  I denne artikkelen vil jeg snakke om REST APIer. Jeg vil diskutere hvordan de fungerer, deres applikasjoner og mange flere. La oss komme i gang.

Hvorfor BRUKE REST API:

La oss si en enkel PHP-webserver i tradisjonelle webapplikasjoner,

I denne modellen gjøres all prosessering på serversiden. Så serveren må gjøre mer arbeid. Her er data ikke skilt fra siden, de er innebygd dypt inn i siden.

Hvis du i fremtiden vil lage en Android-app eller iOS-app eller en Desktop-app på nettstedet ditt, må du gjøre mye mer arbeid. Du må koble til databasen direkte fra hver av disse appene, noe som kanskje ikke er veldig sikkert. Utviklingstiden vil øke og bærbarhetsproblemer vil oppstå.

La oss si at du har laget Desktop-, Android- og iOS-apper på nettstedet ditt. Brukerens fulle navn vises i små bokstaver i hver av dem. Nå vil du vise det med store bokstaver. Vel, utviklerne må endre skrivebordet, Android og iOS-versjonen av appen din hver for seg for å gjøre det. Noe som er tidkrevende. I den virkelige verden vil ikke ting være så enkle som denne. Så en versjon av appen (La oss si skrivebordsversjonen) kan ha en alvorlig feil i oppdateringsprosessen. Å fikse det senere vil ta mer tid. Kan du se hvordan utviklingstiden øker? Denne løsningen er ikke bærbar også.

I REST API spør du API-serveren hva du trenger, og den sender deg bare informasjonen du ber om, ingen ekstra formatering gjøres på serveren. Det er ikke behov for unødvendig behandling på serveren. Så ytelsen til nettstedet og appene dine forbedres naturlig. Du kan også bruke de samme dataene på nettstedet ditt, desktop-appen, Android- og iOS-appene. Endringer som er gjort på serverne, gjenspeiles i appene som bruker API. Appens utviklingstid og kostnad vil også bli redusert.

Hvordan fungerer REST API:

REST API-ene har endepunkter. Et endepunkt er ikke annet enn en URL, men på en pent formatert måte, og det er meningsfylt. Den bruker innfødte HTTP-forespørsler (for eksempel , POST, SETTE, SLETT etc) for å bestemme hva du skal gjøre når du får tilgang til hvert sluttpunkt. Jeg vil snakke om disse senere.

Utdataformatet til REST API er JSON, også kjent som JavaScript Object Notation.

Et eksempel på utdata fra a forespørsel til REST API den / brukere / id / 12 endepunktet kan se slik ut:


"id": 12,
"name": "David Smith",
"alder": 42,
"telefoner": ["124-211-2341", "889-211-4545"],
"country": "US"

Som du ser, gjorde jeg en forespørsel på / brukere / id / 12 sluttpunkt for å fortelle REST API å gi meg informasjon om brukeren som har id 12. Jeg fikk bare den informasjonen jeg ba om, ikke mer, intet mindre.

La oss si at du vil ha informasjon om de siste 10 brukerne som registrerte deg på nettstedet ditt. Du kan gjøre en forespørsel på / brukere / siste / 10 endepunkt.

Du kan også legge til nye data på serveren din ved hjelp av REST API. Vanligvis HTTP POST forespørsel brukes til å be REST API om å legge til nye data til API-serveren.

For eksempel kan du gjøre en POST forespørsel på / brukere sluttpunkt med dataene til den nye brukeren, og de vil bli lagt til databasen på API-serveren din. Du kan også konfigurere API-en slik at den returnerer statusen til forespørselen.


"statusCode": 400,
"statusText": "Brukeren ble lagt til.",
"data":
"id": 13,
"name": "Mary Smith",
"alder": 35,
"telefoner": ["124-211-2341", "889-211-4545"],
"country": "US"

Som du kan se, er statusKode og statusTekst egenskapen til JSON-objektet varsler API-klienten om at brukeren er lagt til. Dataene som legges til returneres også i data egenskapen til JSON-objektet. Du kan konfigurere API-en din akkurat slik du vil.

Du kan også oppdatere en eksisterende post fra API-serverens database. De SETTE HTTP-forespørsel brukes på et API-sluttpunkt for å oppdatere eksisterende data i API-serverens database.

La oss for eksempel si at du vil oppdatere brukerens telefonnummer med ID 13. Du kan gjøre en SETTE forespørsel på API-endepunktet / bruker / id / 13.


"statusCode": 200,
"statusText": "Bruker oppdatert.",
"old_data":
"id": 13,
"name": "Mary Smith",
"alder": 35,
"telefoner": ["124-211-2341", "889-211-4545"],
"country": "US"
,
"new_data":
"id": 13,
"name": "Mary Smith",
"alder": 35,
"telefoner": ["100-211-1111", "140-211-1145"],
"country": "US"

Som du kan se, er oppdateringen vellykket. De gamle dataene og de nye dataene returneres i gamle_data og nye_data egenskapen til henholdsvis JSON-objektet.

Du kan også slette data fra API-serverens database med HTTP SLETT forespørsel på API-endepunktet.

Hvis du for eksempel vil slette brukeren med ID 12, kan du gjøre et SLETT forespørsel om API-endepunktet / bruker / id / 12.


"statusCode": 150,
"statusText": "Bruker fjernet.",
"data":
"id": 12,
"name": "David Smith",
"alder": 42,
"telefoner": ["124-211-2341", "889-211-4545"],
"country": "US"

Som du kan se, blir brukeren slettet og de slettede brukerdataene returneres i data egenskapen til JSON-objektet.

Jeg har forklart den vanlige måten å bruke , POST, SETTE og SLETT HTTP-forespørsel på API-endepunktene for å utføre CRUD-drift (Opprett, Les, Oppdater og Slett) ved hjelp av REST API. Men du kan konfigurere API-en din til å gjøre visse ting på bestemte HTTP-forespørsler. Ingenting er løst her. For eksempel kan du oppdatere API-en ved hjelp av HTTP-forespørsel. Du trenger ikke bruke SETTE. Det er opp til API-designeren.

Du designer også API-endepunktene. Å gi meningsfulle navn til API-endepunktene gjør REST API mye enklere å bruke.

Anvendelser av REST API:

APIer gjør apputvikling enklere og modulær. Ved hjelp av REST API kan du enkelt portere appen din til forskjellige plattformer.

Alt du trenger å gjøre er å designe og utvikle en REST API for applikasjonen din. Deretter kan du bruke REST API fra nettstedet ditt, Android-appen, iOS-appen, Windows desktop-appen og Linux-appen osv. På denne måten vil alle appene dine på forskjellige plattformer bruke samme logikk, og utviklingstid og -kostnader vil bli redusert. Appene blir også lettere å administrere. REST API-er brukes raskt i enkeltsides webapplikasjoner også i disse dager.

Jeg har skrevet en artikkel om å skrive REST APIer ved hjelp av Python.  Takk for at du leser denne artikkelen.

Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...
0 A.D. Opplæringen
Ut av de mange strategispillene der ute, 0 A.D. klarer å skille seg ut som en omfattende tittel og et veldig dypt, taktisk spill til tross for å være ...
Unity3D opplæring
Introduksjon til Unity 3D Unity 3D er en kraftig spillutviklingsmotor. Det er kryssplattform, det er det lar deg lage spill for mobil, web, stasjonær ...