REST_API staat voor REpresentational State Transfer - Application Programming Interface.
Met de op REST gebaseerde API is het mogelijk om informatie afkomstig van verschillende systemen middels een bepaald medium zoals het web uit te wisselen.
REST_API is ook als een stuk M2M (Machine toe Machine communicatie) gebaseerd op de client server (backend) structuur te gebruiken.
Middels REST_API in de netwerkomgeving is het middels een HTTP-verzoek mogelijk,
om een representatie van en toestand van een bron over te brengen naar de aanvrager of het eindpunt,
of om informatie en taken te verdelen over verschillende servers.
Concreet:
Een eindpunt of backend zou bijvoorbeeld https://api.michaeljordan.edu/rest_api/1 kunnen zijn.
Warbij de op te vragen informatie in subdirectory rest_api te vinden is met de sleutel 1 en in het subdomein api.
Een frontend kan zowel een app in Swift geschreven op een smartphone zijn of een JavaScript programma op een pc. Beide maken gebruik van de zelfde API.
Deze gegevens kunnen worden afgeleverd via HTTP in één van deze verschillende formaten :
JSON, HTML, XML, Python, PHP, of platte tekst. JSON is echter het meest populaire bestandsformaat, omdat het,
ondanks dat de naam suggereert dat er met JavaScript gewerkt word, taal neutraal / platform onafhankelijk is, en leesbaar voor mens en machine.
Om te communiceren, zijn er regels, zeg de juiste syntaxis nodig zo als GET, POST, DELETE en PUT.
Deze zijn afkomstig van HTTP 1.1 en zien er een beetje schreeuwerig uit,
maar dat zijn wel de afspraken.
GET is om informatie op te vragen. POST is om informatie te schrijven (nieuw).
DELETE is om te verwijderen.
PUT om data te overschrijven, zeg vervangen.
In sommige publicaties wordt over CRUD gesproken, wat niet door iedereen wordt ondersteund i.v.m.
de idempotentie van RESTful API.
Om in aanmerking te komen voor de term RESTful API, moet deze aan enkele criteria voldoen zo als:
- Een op HTTP gebaseerd beheers-systeem met een client-server architectuur.
- Stateless client-servercommunicatie, waarbij dus geen informatie wordt opgeslagen.
- Een uniforme interface tussen componenten, zodat informatie in een standaardvorm zo als JSON, wordt overgedragen.
Gezien RESTAPI's snel en licht zijn en over een grotere schaalbaarheid beschikken, zijn zij een enorm voordeel voor de
Internet of Things (IoT) en mobiele app ontwikkeling.
BEZIG!