Hvordan fungerer REST APIer

Hvordan fungerer REST APIer
Hvile eller avslappende apis 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, applikasjonene deres og mange flere. La oss komme i gang.

Hvorfor bruke REST API:

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

  • Du ber om en side (la oss si PHP) fra serveren.
  • Serveren finner skriptfilen (PHP) Tilsvarende siden du ba om og begynner å utføre den. Skriptet kobles til databasen, ser etter den nødvendige informasjonen, plasserer informasjonen på siden på en pent formatert måte (å blande HTML + CSS + JavaScript med dataene) som ser veldig attraktiv ut for besøkende.
  • Så sender serveren den tilbake til besøkende.

I denne modellen gjøres all behandlingen på serversiden. Så serveren må gjøre mer arbeid. Her er data ikke atskilt fra siden, det er innebygd dypt inn på siden.

Hvis du i fremtiden vil lage en Android -app eller iOS -app eller en stasjonær 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 portabilitetsproblemer 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 i store bokstaver. Vel, utviklerne må endre skrivebordet, Android og iOS -versjonen av appen din separat for å gjøre det. Som er tidkrevende. I den virkelige verden vil ting ikke være så enkelt som denne. Så en versjon av appen (la oss si at skrivebordsversjonen) kan ha en alvorlig feil i oppdateringsprosessen. Å fikse det senere ville 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, det gjøres ingen ekstra formatering på serveren. Det er ikke behov for unødvendig behandling på serveren. Så ytelsen til nettstedet og appene dine er naturlig forbedret. Du kan også bruke de samme dataene på nettstedet ditt, Desktop App, Android og iOS -apper. Endringer i serverne vil gjenspeiles i appene som bruker API. Apputviklingstiden og kostnadene vil også bli redusert.

Hvordan REST API fungerer:

REST APIene har endepunkter. Et sluttpunkt er ikke annet enn en URL, men på en pent formatert måte og det er meningsfylt. Den bruker de opprinnelige HTTP -forespørslene (for eksempel , POST, SETTE, Slett osv.) For å bestemme hva du skal gjøre når du får tilgang til hvert sluttpunkter. Jeg vil snakke om disse senere.

Utgangsformatet til REST API er JSON også kjent som JavaScript -objektnotasjon.

Et eksempel på utgangen fra en forespørsel til REST API på /brukere/id/12 Endepunkt kan se ut som følger:


"ID": 12,
"Navn": "David Smith",
"Alder": 42,
"Telefoner": ["124-211-2341", "889-211-4545"],
"land": "oss"

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

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

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

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


"Statuscode": 400,
"Statustext": "Bruker lagt til."",
"Data":
"ID": 13,
"Navn": "Mary Smith",
"Alder": 35,
"Telefoner": ["124-211-2341", "889-211-4545"],
"land": "oss"

Som du kan se, Statuscode og Statustext Eiendom til JSON -objektet varsler API -klienten som brukeren er lagt til. Dataene som er lagt til, returneres også i data Eiendom til JSON -objektet. Du kan konfigurere API -en din akkurat slik du vil.

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

La oss for eksempel si at du vil oppdatere telefonnummeret til brukeren 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,
"Navn": "Mary Smith",
"Alder": 35,
"Telefoner": ["124-211-2341", "889-211-4545"],
"land": "oss"
,
"new_data":
"ID": 13,
"Navn": "Mary Smith",
"Alder": 35,
"Telefoner": ["100-211-1111", "140-211-1145"],
"land": "oss"

Som du ser, er oppdateringsoperasjonen vellykket. De gamle dataene og nye dataene returneres i old_data og new_data Eiendom til henholdsvis JSON -objektet.

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

For å slette brukeren med ID 12, kan du for eksempel gjøre en Slett forespørsel på API -endepunktet /bruker/id/12.


"Statuscode": 150,
"Statustext": "Bruker fjernet."",
"Data":
"ID": 12,
"Navn": "David Smith",
"Alder": 42,
"Telefoner": ["124-211-2341", "889-211-4545"],
"land": "oss"

Som du ser blir brukeren slettet og de slettede brukerdataene returneres i data Eiendom til JSON -objektet.

Jeg har forklart den vanlige måten å bruke på , POST, SETTE og Slett HTTP -forespørsel på API -endepunktene for å gjøre CRUD (opprette, lese, oppdatere og slette) operasjonen ved hjelp av REST API. Men du kan konfigurere API -en din til å gjøre visse ting på visse HTTP -forespørsler. Ingenting er løst her. For eksempel kan du oppdatere API 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 dine gjør at REST API er mye enklere å bruke.

Applikasjoner av REST API:

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

Alt du trenger å gjøre er å designe og utvikle et REST -api av applikasjonen din. Da 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 den samme logikken, og utviklingstiden og kostnadene dine vil bli redusert. Appene vil også være lettere å administrere. REST APIer brukes raskt i webapplikasjoner med en side i disse dager også.

Jeg har skrevet en artikkel om Writing Rest APIer ved hjelp av Python. Takk for at du leste denne artikkelen.