Node.js - express routing

Express routing

Binnen express kun je zogeheten routes aanmaken. Eigenlijk is dit niets anders dan een 'url' maken in jouw applicatie. Zo kun je bijvoorbeeld een 'url' maken waar je gerechten toont of pokemon. Een route bestaat eigenlijk uit 3 onderdelen:

  1. Het pad. Bijvoorbeeld /pokemon of /dishes.
  2. De methode. Bijvoorbeeld GET, POST, PUT, DELETE.
  3. De handler. Welke code gaat uitgevoerd worden bij het aanroepen van het pad met een bepaalde methode.
Wanneer je met je browser naar een bepaald pad gaat in je express server, bijvoorbeeld localhost:3000/pokemon, dan wordt er standaard gewerkt met de GET methode. Met GET ga je namelijk een webpagina ophalen.
  • GET Hiermee haal je een webpagina of json op. Een webbrowser gebruikt standaard GET bij het aanroepen van een url.
  • POST Hiermee kun je iets versturen naar een url. Bijvoorbeeld een formulier wat is ingevuld door de gebruiker.
  • UPDATE Hiermee kun je iets bijwerken. Deze wordt vaak alleen in webservice API's gebruikt.
  • DELETE Hiermee kun je iets verwijderen. Deze wordt vaak alleen in webservice API's gebruikt.

Express routing - GET

Hieronder vind je een aantal code voorbeelden van GET routes in express die verschillende typen content teruggeven.

                
//deze code laat 'Hello Example' zien op het scherm wanneer je naar de link /example gaat
app.get('/example', (req, res) => {
  res.send('Hello Example!');
});
                
            
                
//deze code laat 'Hello HTML example!' zien wanneer je naar de link /html-example gaat
app.get('/html-example', (req, res) => {
  res.setHeader('Content-type', 'text/html');
  res.send('<h1>Hello HTML example!</h1>');
});
                
            
                
const songArray = [
  {
      title: 'The Great Nothing',
      artist: 'Spock\'s Beard'
  },

  {
      title: 'All of the Above',
      artist: 'Transatlantic'
  },

  {
      title: 'Magnetism',
      artist: 'Ayreon'
  }
];
//deze code geeft json terug wanneer je naar de link /json-example gaat
app.get('/json-example', (req, res) => {
  res.setHeader('Content-type', 'application/json;charset=UTF-8');
  res.json(songArray);
});
                
            

Express routing - POST

Hieronder vind je een code voorbeeld van een POST route in express. Om te kunnen posten heb je wel body-parser nodig want anders kun je de body niet uitlezen.

            
//importeer body-parser
import bodyParser from 'body-parser';

//laat express weten bodyParser te gebruiken om json data uit te lezen uit de body
app.use(bodyParser.json());
            
        
                
//onderstaand voorbeeld laat zien hoe je een POST route kunt maken om een user toe te voegen
app.post('/add-user', (req, res) => {
    //username en password worden uitgelezen uit de body (let op hier moet je wel body-parser voor importeren)
    const username = req.body.username;
    const password = req.body.password;

    //hier kun je nu iets doen met de username en password, bijvoorbeeld opslaan in een database. Voor nu loggen we.
    console.log(username);
    console.log(password);

    //we geven terug aan de browser dat het toevoegen is gelukt
    res.json({ userAdded: true });
});