Cloud API’s en REST-API’s
Een API (Application Programming Interface) is een interface waarmee softwaretoepassingen met elkaar kunnen communiceren en gegevens kunnen uitwisselen. Het stelt ontwikkelaars in staat om functionaliteit van een bepaalde softwaretoepassing beschikbaar te stellen aan andere toepassingen, zonder dat ze de complexe details van de onderliggende code hoeven te begrijpen.
Met behulp van een API kunnen ontwikkelaars bijvoorbeeld gegevens opvragen of acties uitvoeren op een andere softwaretoepassing, zoals het ophalen van weersgegevens van een online dienst of het versturen van een tweet via de Twitter API. Een API definieert de manier waarop verschillende softwaretoepassingen met elkaar kunnen communiceren, welke parameters nodig zijn voor het uitvoeren van specifieke taken en hoe de resultaten worden geretourneerd.
API's worden vaak gebruikt in webontwikkeling, mobiele app-ontwikkeling en andere softwareontwikkelingstoepassingen. Populaire API's zijn onder meer de Google Maps API, de Facebook API en de Twitter API.
Zo kan je als ontwikkelaar bijvoorbeeld gebruik maken van de API van deepl om in je eigen software automatisch vertalen mogelijk te maken. Je moet hiervoor echter niet zelf een stuk AI-software ontwikkelen dat leert vertalen. Een API maakt het dus mogelijk om je eigen (eventueel eenvoudige) software te voorzien van ingewikkelder functionaliteit die je zelf niet zou kunnen ontwikkelen omdat je er bijvoorbeeld, niet de kennis, de vaardigheden of de middelen (bijvoorbeeld rekenkracht bij AI) voor hebt.
Rest-API's
Een REST API (Representational State Transfer Application Programming Interface) is een type API dat gebruik maakt van het HTTP-protocol voor communicatie tussen verschillende softwaretoepassingen. Het is een architectuurstijl die beschrijft hoe netwerkbronnen worden gedefinieerd en gemanipuleerd via de HTTP-protocollen GET, POST, PUT en DELETE.
Een REST API maakt gebruik van resources(zoals gebruikers, producten of bestellingen) die worden geïdentificeerd door middel van URL's (Uniform Resource Locators). Elke resource heeft een unieke URL en kan worden opgevraagd, gemaakt, geüpdatet of verwijderd met behulp van de juiste HTTP-methoden.
Om een voorbeeld te geven: via deze website kan je door middel van een REST-API, informatie opvragen over boeken die ik heb geschreven. Dat kan je eenvoudig door de URL (de link in de adresbalk van de browser) te wijzigen:
Je laat de domeinnaam volgend door "rest" en vervolgens het "type" gestructureerde gegevens dat je wenst: https://www.leerschool.be/rest/jsonof https://www.leerschool.be/rest/xml. Vervolgens kan je zoeken in een door de ontwikkelaar vastgelegde manier. Laat je de link volgen door bijvoorbeeld "books", dan krijg je een lijst van al mijn boeken die ik op mijn website te koop aanbiedt: https://www.leerschool.be/rest/json/books. Laat je die link volgen door een zoekterm, dan krijg je enkel de boeken die corresponderen met die zoekterm: https://www.leerschool.be/rest/json/books/gisteren of https://www.leerschool.be/rest/xml/books/gisteren.
Uiteraard kan je het begrip "books" niet zo maar lukraak gaan vervangen door om het even wat. De onwikkelaar bepaalt immers hoe de REST-api werkt.
Een paar andere voorbeelden van REST-api's op dit domein:
- Namen opvragen: https://www.leerschool.be/fenx/api2/names.php?q=jan(de "jan" kan je vervangen door je eigen zoekterm)
- Landen en hun geolocatie: https://www.leerschool.be/fenx/api2/countries.php?q=bel(de "bel" kan je vervangen door je eigen zoekterm)
- Straten per postcode in België: https://www.leerschool.be/fenx/api2/streets.php?postalcode=3300&;q=p (je vervangt de postcode en de zoekterm achter "q=" om op een specifieke straat binnen een bepaalde postcode te zoeken).
Eenvoudig
REST API's zijn populair vanwege hun eenvoud en flexibiliteit. Ze zijn platformonafhankelijk en kunnen worden gebruikt door een breed scala aan programmeertalen en technologieën. Bovendien zijn REST API's goed schaalbaar en bieden ze een gestandaardiseerde manier van communicatie tussen verschillende toepassingen.
Veel populaire webtoepassingen maken gebruik van REST API's, zoals de Twitter API en de Facebook Graph API. REST API's zijn ook een belangrijk onderdeel van de moderne webontwikkeling en worden vaak gebruikt om gegevens van een server op te halen en te manipuleren in webapplicaties en mobiele apps.