Hva er et REST API? Forteller det noe å stoppe eller ta en pause? Er et RESTful API et lat program eller et program som setter i gang en hviletilstand? Hvis du i det hele tatt er interessert i nettet og hvordan de forskjellige teknologiene bak det fungerer, vil du vite om RESTful API.
En API er et applikasjonsprogrammeringsgrensesnitt. Et API kan være mange ting for mange programmerere, men egentlig er det en mellommann som lar deg koble et program til et annet. Mange programmerere og utviklere vil skjule sin kjernekode for å hindre andre i å stjele alt sitt harde arbeid. Hvis de vil at andre programmer skal jobbe med programmet sitt, må de også gjøre noe kode tilgjengelig for å tillate det samspillet. Det er der APIer kommer inn. En utvikler kan opprette APIer som lar andre programmer grensesnitt mot opprettelsen og gi ekstra funksjoner og interaksjoner.
Et API vil bli skrevet med en viss struktur formatert på en viss måte som ressursen kan forstå og som ikke bruker for mange ressurser. Mange nettsteder, programmer og plattformer bruker APIer. Facebook har dem, YouTube bruker dem, Google Maps har dem, Android og iOS bruker dem, og den mest bemerkelsesverdige programvaren vil ha et slags programmeringsgrensesnitt. Det er en god måte å tilføre verdi og funksjoner uten å vise verden hvordan programmet ditt er satt sammen.
Hvordan brukes APIer?
Si for eksempel at du ville bygge et sett med kamerafiltre for en telefon. I stedet for å bygge din egen kamera-app, vil du bruke Apples eller Android kamera-API for å bruke kameraet. Alternativet vil være å lage helt ny kameraprogramvare for hvert operativsystem for telefoner, noe som er mye arbeid. I stedet trenger du bare å lage et API som kan kommunisere med den eksisterende kameraprogramvaren og sende filterdataene dine til og fra den.
APIer kan også brukes til å få tilgang til systemressurser, grensesnitt med andre systemer, gi funksjoner som gir tilleggsverdier til nettlesere og alt det gode. Hvis du bare husker at et API er et stykke kode som snakker med andre programmer, bør du være i orden.
Et annet eksempel vil være Google Maps. Hvis du vil legge til et Google Map på nettstedet ditt som viser din plassering, setter du opp et Google Maps API med et HTTP GET-spørsmål for å trekke kartet fra Google. På denne måten får du det du vil uten at Google trenger å gjøre noe eller gi tilgang til internalene i kartleggingsplattformen.
Ved å bruke et API kan Google Maps-servere tilfredsstille millioner av spørsmål på kort tid uten å overbelaste kartserveren. API-spørringene vil være riktig strukturert for å være fornøyde med færrest ressurser. RESTful API sørger for at ingenting kan skrives til databasen og etterlater ingen spor, slik at kartserveren kan gå videre til neste spørring.
RESTful API
REST står for REpresentational State Transfer. Et RESTful API brukes til å overføre data fra en ressurs til en klient. Som et eksempel bruker en søkemotor en type RESTful API. Du oppgir et søkeord og motoren spør etter serverne. Serverne overfører korrelerende data til nettleseren du kan bruke. Slik fungerer RESTful API.
Du vet nå at en API lar eksterne programmer grensesnitt mot visse andre programmer. Et RESTful API lar et uavhengig program kommunisere med en helt egen database, som i søkemotoreksemplet ovenfor.
Det som gjør at et RESTful API fungerer, er at det er statsløst og cache. Stateless betyr at spørringen fra et RESTful API ikke har noen innvirkning på databasen. Søket er ikke (alltid) logget, ingenting er lagret i databasen og kan ikke skrive til databasen. Den er i det vesentlige skrivebeskyttet.
Å være bufferbar betyr at API-klienten kan lagre informasjonen for fremtidig bruk, slik at den ikke trenger å spørre databasen hver eneste gang.
For nettet vil API sannsynligvis bruke HTTP-metoden for å behandle en forespørsel. De vanlige HTTP-metodene er GET, POST, PUT og DELETE. I søkemotoreksemplet ville RESTful API bruke HTTP-metoden for å HENTE dine søkeorddata fra søkemotordatabasen for å vise søkeresultatene.
Et annet eksempel ville være et Twitter-brukersøk. Hvis du legger URL-adressen www.twitter.com/realDonaldTrump i en nettleser, vil nettleseren bruke HTTP for å FÅ Donald Trumps data fra Twitter og vise dem for deg. Ettersom brukernavn på Twitter er unike, returnerer spørringen detaljene til nettleseren din.
RESTful API er en ganske elegant måte å dele informasjon på uten å påvirke serverytelsen eller gi for mye bort. Denne opplæringen klør bare overflaten til hvordan de fungerer og integreres i nettet, men den skal gi deg en grunnleggende ide om hva som skjer.