Routes Aanmaken en Beheren in Express.js
Laten we deze praktische voorbeelden van het aanmaken van routes in Express.js in meer detail bekijken.
🌟 Basisroutes
Een eenvoudige Express.js-applicatie met routes voor verschillende HTTP-methoden. Elke route verwerkt een specifiek HTTP-verzoek en stuurt een antwoord terug naar de client.
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('This is the homepage.');
});
app.post('/users', (req, res) => {
// Handle user creation logic here.
res.send('User created.');
});
app.put('/users/:id', (req, res) => {
// Handle user update logic here.
res.send(`User ${req.params.id} updated.`);
});
app.delete('/users/:id', (req, res) => {
// Handle user deletion logic here.
res.send(`User ${req.params.id} deleted.`);
});
app.listen(3000, () => {
console.log('Server is running on port 3000.');
});
- GET-route: Deze route reageert op een GET-verzoek op de root-URL (
/). Gebruikers die de homepage van de applicatie bezoeken, ontvangen het bericht "This is the homepage."; - POST-route: Deze route reageert op een POST-verzoek op de URL
/users. Wordt doorgaans gebruikt voor het aanmaken van nieuwe gebruikersrecords. De route bevat een opmerking voor het verwerken van de gebruikersaanmaaklogica, die vervangen kan worden door de daadwerkelijke logica; - PUT-route: Deze route reageert op een PUT-verzoek op de URL
/users/:id. Ontworpen voor het bijwerken van gebruikersrecords op basis van de parameter:id. Net als bij de POST-route bevat deze een opmerking voor het verwerken van de update-logica; - DELETE-route: Deze route reageert op een DELETE-verzoek op de URL
/users/:id. Wordt gebruikt voor het verwijderen van gebruikersrecords op basis van de parameter:id. Zoals bij de andere routes bevat deze een opmerking voor het verwerken van de verwijderingslogica.
Opmerking
Als je niet zeker bent over de URL of het concept wilt herzien, raadpleeg dan het volgende artikel: URL vs URI vs URN
🌟 Omgaan met URL-parameters
Focus op het aanmaken van een route die URL-parameters verwerkt. URL-parameters zijn dynamische delen van een URL die gebruikt kunnen worden om gegevens naar de server te sturen. Zo werkt dit voorbeeld:
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
// Fetch user data based on `userId`.
res.send(`User details for ID ${userId}.`);
});
- Een route wordt gedefinieerd met
app.get('/users/:id', ...), waarbij:ideen URL-parameter is. Dit betekent dat wanneer een gebruiker een URL zoals/users/123bezoekt, de variabelereq.params.idde waarde123bevat; - Binnen de route handler wordt de
:idparameter benaderd viareq.params.id; - De opmerking kan vervangen worden door logica om gebruikersgegevens op te halen op basis van de uit de URL-parameter verkregen
userId; - Tot slot wordt er een reactie naar de client gestuurd met informatie over de gebruiker die geïdentificeerd is door de
:idparameter.
🌟 Routevolgorde en prioritering
De volgorde waarin routes worden gedefinieerd is van belang omdat Express een first-match-wins-strategie gebruikt. De eerste overeenkomende route wordt uitgevoerd. In dit voorbeeld wordt een scenario besproken waarin zowel een specifieke als een catch-all route aanwezig is:
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
// Fetch user data based on `userId`.
res.send(`User details for ID ${userId}.`);
});
app.get('/users/*', (req, res) => {
// Handle generic user-related requests.
res.send('User-related request.');
});
- De eerste route,
app.get('/users/:id', ...), is een specifieke route die reageert op URL's zoals/users/123. Deze route verwerkt aanvragen met een specifiek gebruikers-ID; - De tweede route,
app.get('/users/*', ...), is een catch-all route voor algemene gebruikersgerelateerde aanvragen. Deze maakt gebruik van een wildcard (*) om elke URL te matchen die begint met/users/, zoals/users/settings.
In dit scenario is de volgorde essentieel. De specifieke route moet vóór de catch-all route worden gedefinieerd om voorrang te krijgen. Als de catch-all route eerst wordt gedefinieerd, zal deze alle URL's die beginnen met /users/ matchen, waardoor de specifieke route geen kans krijgt om aanvragen met een gebruikers-ID te verwerken.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 2.56
Routes Aanmaken en Beheren in Express.js
Veeg om het menu te tonen
Laten we deze praktische voorbeelden van het aanmaken van routes in Express.js in meer detail bekijken.
🌟 Basisroutes
Een eenvoudige Express.js-applicatie met routes voor verschillende HTTP-methoden. Elke route verwerkt een specifiek HTTP-verzoek en stuurt een antwoord terug naar de client.
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('This is the homepage.');
});
app.post('/users', (req, res) => {
// Handle user creation logic here.
res.send('User created.');
});
app.put('/users/:id', (req, res) => {
// Handle user update logic here.
res.send(`User ${req.params.id} updated.`);
});
app.delete('/users/:id', (req, res) => {
// Handle user deletion logic here.
res.send(`User ${req.params.id} deleted.`);
});
app.listen(3000, () => {
console.log('Server is running on port 3000.');
});
- GET-route: Deze route reageert op een GET-verzoek op de root-URL (
/). Gebruikers die de homepage van de applicatie bezoeken, ontvangen het bericht "This is the homepage."; - POST-route: Deze route reageert op een POST-verzoek op de URL
/users. Wordt doorgaans gebruikt voor het aanmaken van nieuwe gebruikersrecords. De route bevat een opmerking voor het verwerken van de gebruikersaanmaaklogica, die vervangen kan worden door de daadwerkelijke logica; - PUT-route: Deze route reageert op een PUT-verzoek op de URL
/users/:id. Ontworpen voor het bijwerken van gebruikersrecords op basis van de parameter:id. Net als bij de POST-route bevat deze een opmerking voor het verwerken van de update-logica; - DELETE-route: Deze route reageert op een DELETE-verzoek op de URL
/users/:id. Wordt gebruikt voor het verwijderen van gebruikersrecords op basis van de parameter:id. Zoals bij de andere routes bevat deze een opmerking voor het verwerken van de verwijderingslogica.
Opmerking
Als je niet zeker bent over de URL of het concept wilt herzien, raadpleeg dan het volgende artikel: URL vs URI vs URN
🌟 Omgaan met URL-parameters
Focus op het aanmaken van een route die URL-parameters verwerkt. URL-parameters zijn dynamische delen van een URL die gebruikt kunnen worden om gegevens naar de server te sturen. Zo werkt dit voorbeeld:
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
// Fetch user data based on `userId`.
res.send(`User details for ID ${userId}.`);
});
- Een route wordt gedefinieerd met
app.get('/users/:id', ...), waarbij:ideen URL-parameter is. Dit betekent dat wanneer een gebruiker een URL zoals/users/123bezoekt, de variabelereq.params.idde waarde123bevat; - Binnen de route handler wordt de
:idparameter benaderd viareq.params.id; - De opmerking kan vervangen worden door logica om gebruikersgegevens op te halen op basis van de uit de URL-parameter verkregen
userId; - Tot slot wordt er een reactie naar de client gestuurd met informatie over de gebruiker die geïdentificeerd is door de
:idparameter.
🌟 Routevolgorde en prioritering
De volgorde waarin routes worden gedefinieerd is van belang omdat Express een first-match-wins-strategie gebruikt. De eerste overeenkomende route wordt uitgevoerd. In dit voorbeeld wordt een scenario besproken waarin zowel een specifieke als een catch-all route aanwezig is:
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
// Fetch user data based on `userId`.
res.send(`User details for ID ${userId}.`);
});
app.get('/users/*', (req, res) => {
// Handle generic user-related requests.
res.send('User-related request.');
});
- De eerste route,
app.get('/users/:id', ...), is een specifieke route die reageert op URL's zoals/users/123. Deze route verwerkt aanvragen met een specifiek gebruikers-ID; - De tweede route,
app.get('/users/*', ...), is een catch-all route voor algemene gebruikersgerelateerde aanvragen. Deze maakt gebruik van een wildcard (*) om elke URL te matchen die begint met/users/, zoals/users/settings.
In dit scenario is de volgorde essentieel. De specifieke route moet vóór de catch-all route worden gedefinieerd om voorrang te krijgen. Als de catch-all route eerst wordt gedefinieerd, zal deze alle URL's die beginnen met /users/ matchen, waardoor de specifieke route geen kans krijgt om aanvragen met een gebruikers-ID te verwerken.
Bedankt voor je feedback!