Samenvatting Mobile Development (Node & Express - API)
1 view 0 purchase
Course
Mobile Development
Institution
Thomas More Hogeschool (tmhs)
In de samenvatting beschrijven we API's in Node en Express, de API's worden voorzien van een backend met een relationele of document database. We bespreken verder ook hoe we deze API's kunnen beveiligen met klassieke sessions en met behulp van JSON webtoken. Tenslotte behandelen we serverless en e...
Rest API’s
REST
o Representational state transfer
Een REST API is een architecturaal patroon voor web API’s
o Het is geen framework, programmeertaal, standaard of protocol
o Het kan dus geïmplementeerd worden in elke programmeertaal
o Er zijn verder ook geen limieten op de structuur van de teruggegeven data
Deze kan als JSON, HTML, Plain Text, XML, … teruggegeven worden
JSON is het populairste
Omdat RESR geen echte standaard is, zijn de vereisten voor een REST API ook
niet sterk afgebakend
o Een REST API moet voldoen aan volgende vereisten
Uniforme interface
Alle API requests voor een resource
o een rij in een tabel
o een document in een document database
geven op dezelfde manier terug
o Dit wil zeggen dat de volledige API ofwel in JSON-
formaat ofwel in XML-formaat aangeboden kan
worden, maar geen mix van beiden
Het gekozen formaat hoeft niet overeen te
komen met het formaat dat intern door de
server gebruikt wordt
De resource die teruggegeven wordt door de API bevat alle
nodige informatie om de resources aan te passen of te
verwijderen
Elke resource is uniek en kan met één URL geïdentificeerd
worden
Hypermedia as the engine of application state
o HATEOAS
, De resources moeten een overzicht geven van
welke andere resources er beschikbaar zijn aan de
hand van hyperlinks
Net zoals bij een browser moet er een, bij een
correctie HATEAOS implementatie, slechts één URL
gekend zijn
De andere kunnen bezocht worden door
“door te klikken” in het antwoord dat de
server geeft op een request voor de root-url
Wordt echter weinig gebruikt in productie omdat de
meeste API’s bedoeld zijn voor programmeur en
RUD-operaties moten ondersteunen
Omdat er op verschillende pagina’ in de
client-applicatie verschillende acties
ondersteund moeten worden en omdat deze
pagina’s rechtstreek bezocht kunnen worden
i.p.v. via de root pagina te gaan, moet de
applicatie de URL’s van de API sowieso
kennen
Client-server met zwakke coupling
De client en server moeten zo weinig mogelijk van elkaar
weten
o De client en de server kunnen onafhankelijk van
elkaar ontwikkeld worden en communiceren enkel via
HTTP(S)
Statelessness
Elk request van de client naar de server moet alle informatie
bevatten om het request correct af te handelen
De server mag geen data bewaren over de state op de client,
er zijn dus geen server-side sessions
Caching
Waar mogelijk moeten resources gechached worden
Elk antwoord op een request moet informatie bevatten die
aangeeft of een resource client-side gechached mag worden
of niet
Layered system architecture
Noch de client, nog de server mag er van uitgaan dat de
communicatie tussen de client en server rechtstreeks
gebeurd
o Deze communicatie kan eventueel via een derde partij
gaan
2
, Deze architectuur maakt het mogelijk om, op elk moment,
een proxy of load balancer toe te voegen tussen de client en
de server
3
, Rest Requests
Voor elke resource zijn CRUD-operaties beschikbaar en met elke CRUD-operatie
komt een HTTP-methode overeen
o CRUD-operaties
HTTP-methode
CREATE
o POST
READ
o GET
UPDATE
o PUT
DELETE
o DELETE
Elke request naar de API heeft vier onderdelen
o Operatie
Een HTTP-methode
o Endpoint
Het laatste deel van URL, voor onze API dus /api/*
o Parameters
Data die door de API gebruikt wordt om het request af te handelen
o Header
HTTP-headers die zaken zoals authentication data bevatten
Afhankelijk van de methode worden er parameters toegevoegd in de body of
worden er een parameter toegevoegd in de URL
o Voor PUT en POST wordt body data gebruikt en voor GET, PUT en DELETE
een URL-parameter
Node & Express
API’s bouwen via Node.js en met behulp van het Express framework
o Express is een minimalistisch webserver-framework voor Node
Hiermee definiëren we dus e routes die via onze API beschikbaar
zijn
4
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller anouckcelis. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $6.47. You're not tied to anything after your purchase.