šŸ•øļø
[BA] Web Programming
  • Introductie
  • Cursus
    • TypeScript
      • Waarom TypeScript?
      • Nieuw project
      • Wat is een tsconfig.json?
      • Input lezen
      • Type Systeem
        • Basic types
        • Arrays
        • Functions
        • Class
        • Interface
      • Conditionele blok
      • Loops
      • Array methods
      • Exceptions
      • Modules
      • Asynchroon Programmeren
        • Promises
        • Async/Await
        • Fetch
        • JSON
    • Frontend
      • DOM Manipulatie
      • VITE
      • Deployment met Surge
    • Backend
      • Express.js
        • Basis
        • Nodemon
        • Statische Bestanden
        • Request
        • Response
        • Router
      • MySQL
    • Fullstack
      • Van Form tot Database
      • CORS
  • Labos
    • 1. TS: Basis
      • Hello Name
      • BMI Calculator
      • Interest Calculator
      • Uren en Minuten
      • Wisselgeld
      • Name from Email
      • Text Box
    • 2. TS: Arrays & functions
      • Som van getallen
      • Math Fun
      • Array Sum
      • Puntenboek
      • Rot13
      • Pokemon Team
      • Todo List String
      • Tick Tac Toe
      • BMI Calculator Multi
    • 3. TS: Interfaces & classes
      • Recepten
      • Transportmiddelen
      • Movies
      • Filter Numbers
    • 4. TS: Async & fetch
      • Promise All
      • Slow Sum
      • Cocktails Promise All
      • Joke API
      • School API
      • Cocktails API
      • Unix Timestamp API
    • 5. TS: Modules & NPM
      • Math Module
      • Cowsay Module
      • Cat GPT
      • Rainbow Chalk
    • 6. Frontend: VITE & DOM
      • Verander achtergrond
      • Verander tekst
      • Verander divs
      • Verander kleuren
      • Verander kleuren random
    • 7. Frontend: APIs & DOM
      • Cocktail API met Vite
      • Weather API
      • Uitvinders
      • Rick and Morty
    • 8. Backend: Express & Requests
      • Hello Express
      • DadJoke Express
      • Reiskosten server
    • 9. Backend: MySQL & Routing
      • Reiskosten server
      • Taken server
      • Taken server met prioriteit
    • 10. Fullstack: Forms & Express & MySQL
      • Reiskosten app
      • Taken app
      • PokĆ©mon app
Powered by GitBook

AP

On this page
  1. Labos
  2. 8. Backend: Express & Requests

Reiskosten server

Maak een toepassing om de kosten van je reizen te noteren.

Je wilt elke reis die je maakt in kunnen voeren en nadien aan deze reis kosten koppelen.

Maak om te beginnen een nieuwe class Reis aan. Een reis heeft vier velden : id, bestemming, jaar en kosten. Bij aanmaken van een Reis object moet je de velden id, bestemming en jaar verplicht meegeven. Het veld kosten is bij aanmaak een lege array.

Maak vervolgens een nieuwe class Kost aan. Een kost heeft twee velden : uitgave en prijs. Beide velden moeten verplicht ingevuld worden bij aanmaak van de kost.

Voorzie een extra functie op je Reis en Kost class : toJSON() . Deze functie maakt een JSON object aan met de waardes in de Reis / Kost class.

We werken zonder database dus voorzie een interne array om je reis object in te bewaren.

Maak volgende routes aan. Gebruik een router class : reizen_api.ts om onderstaande routes in samen te brengen.

  • .get ā€œ/reizenā€ : deze route geeft alle reizen uit de database in JSON formaat terug

  • .post ā€œ/reisā€ : deze route maakt ƩƩn reis aan in de database. De reis wordt in JSON formaat doorgestuurd: {ā€œbestemmingā€ : ā€œLondenā€, ā€œjaarā€ : 2024} Zet deze JSON gegevens om naar een Reis object. Hou er rekening mee dat je een id moet meegeven aan de reis. Voorzie hiervoor een oplossing via een teller.

  • .get ā€œ/reis/:reisidā€ : deze route vraagt ƩƩn reis op adhv de request parameter ā€˜reisid’.

  • .post ā€œ/reis/:reisid/kostā€ : deze route maakt ƩƩn kost aan voor een reis met de reisid. De kost wordt in JSON formaat doorgestuurd: {ā€œuitgaveā€: ā€œtreinticketsā€, ā€œprijsā€ : 100}. Zet deze JSON gegevens om naar een Kost object en voeg dit object toe aan de kosten array van het reisobject.

  • .get ā€œ/reis/:reisid/kostenā€ : deze route berekent het totaal aan kosten voor de reis met de reisid. Tel voor de betreffende reis de prijs van alle kosten op en geef enkel dat totaal bedrag terug als antwoord.

Test je server via Postman.

PreviousDadJoke ExpressNext9. Backend: MySQL & Routing

Last updated 5 months ago