API

API

  • API = Application Programming Interface
  • Används när man vill publicera vissa funktioner i en applikation till internet. Man väljer vilka som ska vara åtkomliga och hur man anropar dem
  • Ett stängt API är bara den som gjort api:et som kan använda sig av de funktionerna
  • Det finns gott om öppna API:er på nätet
  • Ett öppet API kan skyddas av en s.k. API-Key eller andra begränsningar

CRUD

  • Inom datavetenskap har vi fyra grundläggande funktioner för att uppnå datapersistens*. Dessa är: CREATE, READ, UPDATE, DELETE = CRUD

*beständighet. Möjlighet att spara data även och datorn/programmet stängs av. Databaser är en teknik att uppnå detta.

Övning

  1. Gå till valfri blog/social media
  2. Exemplifiera de fyra olika funktionerna för CRUD vad det gäller att hantera inlägg

Diskutera 2 och 2 🤔

HTTP

  • HTTP = HyperText Transfer Protocol används när webbläsaren skicka och tar emot information
  • En förfrågan kallas för request och webbserverns svar för respons
  • HTTP har olika metoder som GET, POST, PUT, DELETE
  • GET används för att be om att data från webbservern
  • POST används för att skicka data till webbservern

KLIENT

SERVER

👩‍💻

FÖRFRÅGAN (REQUEST)

SVAR (RESPONSE)

REST API

REpresentational State Transfer

Vad är ett REST API?

  • Ett sätt att bygga api:er som bygger på funktioner i HTTP-protokollet
  • Ej bundet till något programmeringsspråk
URI Metod Beskrivning
/posts GET Hämtar alla inlägg
/posts POST Lägger till nytt inlägg
/posts/{id} GET Hämtar specifikt inlägg
/posts/{id} PUT Ersätter ett inlägg med annat
/posts/{id} DELETE Tar bort specifikt inlägg

Utgår från en s.k endpoint (ex https://api.instagram.com/v1 )

JSON

{ dataformat }

Vad är JSON?

  • JSON = JavaScript Object Notation
  • Används för att skicka data mellan klienten och servern
  • Är språkoberonde men använder samma syntax som Javascript
  • Kan användas som ett vanligt objekt i Javascript (JSON.Parse())
  • Är ett filformat men har likheter med MongoDB och andra NoSQL-databaser

DYNAMISK

API

FILER

DATABAS

HÄMTA DATA

SKAPA

WEBBPLATS

TEMPLATE

WEBB-LÄSARE

DYNAMISKA V.S API-DRIVNA WEBBPLATSER

DATABAS

HÄMTA DATA

WEBB-LÄSARE

TEMPLATE

SKAPA

WEBBPLATS

SKAPA ETT API

KONSUMERA ETT API

RENDERING PÅ SERVERSIDAN

RENDERING PÅ KLIENTSIDAN

API

ETT API, FLERA KONSUMENTER

WEBB-LÄSARE

MOBIL-APP

MOBIL-APP

APP

APP

Övning

  1. Installera tillägget JSON Viewer i Chrome
  2. Gå till https://github.com/public-apis/public-apis
  3. Välj ett  API efter intresse där du inte behöver API KEY 
  4. Välj endpoint + sökväg (brukar finnas exempel) och klistra in i url-raden i din webbläsare
  5. Bam! Studera svaret på datat från servern i JSON format
  6. Testa även andra sökvägar (routes) för API:et

Jämför 2 och 2 🧐