API:er
API - Application
Programming Interface
Definitionen av begreppet API är tyvärr inte så himla glasklar. Begreppet täcker många områden inom programmering, inte bara webb.
Inom andra områden så kan API vara hur man använder olika programmeringsbibliotek. Inom webb så handlar API:er i princip alltid om externa datakällor.
På den här kursen så kommer vi bara prata om webb-API:er.
Vad är ett webb-API då?
Ett webb-API är en sida eller tjänst som man kan skicka förfrågningar till för att hämta och manipulera data.
Exempel på webb-API:er är tex Twitters API (https://developer.twitter.com/en/docs) där man kan söka, filtrera och även skapa tweets.
Under kursens gång så kommer vi både konsumera externa datakällor och öva på att bygga våra egna API:er.
Lite terminologi
-
Endpoint - en specifik url/uri där ni tex kan hämta data av ett visst slag eller dylikt. Endpoints skall vara statiska och permanenta.
Exempel: GET myblog.com/v1/posts för att hämta blogginlägg. -
Resource - Den konceptuella beskrivningen och implementationen av en resurs. En resurs kan vara många olika saker vilket gör begreppet svårt att spika fast.
Exempel: I exemplet ovan så har vi posts. Rimligtvis så har vi då en datamodell eller resurs av typen Post i vårt API.
Lite mer terminologi
- Service - Förut en synonym för webb-API:er men numera så menar man oftast SOAP. Se SOAP nedan.
- SOAP - Djävulen själv. Teknologi framtagen av Microsoft som är lastgammal och xml-baserad. SOAP består av en service-definition (wsdl) som innehåller en definition av hela API:et. För MS-baserade teknologier så kan kod genereras baserat på service-definitionen medans vi vanliga plebejer får nöja oss med att läsa den manuellt.
- Exempel: Ett golf-API
Ännu mer terminologi
-
REST - REpresentational State Transfer
Spoilas inte här. Se nästa föreläsning!
Dokumentation
De flesta större publika API:er har någon form av dokumentation. Hur denna dokumentation är strukturerad och hur detaljerad den är varierar såklart.
SOAP är delvis självdokumenterande iom wsdl-filerna men REST är det inte. Nedan är ett antal exempel på dokumentation för REST-API:er.
Exempel:
https://api.metapic.se/
https://developer.twitter.com/en/docs
Varför bygga ett API?
Det finns såklart nästan lika många anledningar att bygga ett API som det finns API:er. Några anledningar kan vara:
- Dela med sig av sin data.
- Låta andra skicka in data till dig.
- Avgränsa en större applikation i flera delar. De olika delarna kan sedan kommunicera med varandra via API:er.
- Bygga en tjänst som kan integereras i flera olika webbsidor.
- Tillåta andra att bygga in din tjänst i sina produkter.
Jag är övertygad!
Hur bygger jag ett?
API:er
By marcusdalgren
API:er
- 251