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 meestal gebruikt voor het aanmaken van nieuwe gebruikersrecords. De route bevat een opmerking voor het afhandelen van de logica voor het aanmaken van gebruikers, 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:id-parameter. Net als de POST-route bevat deze een opmerking voor het afhandelen 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:id-parameter. Zoals bij de andere routes bevat deze een opmerking voor het afhandelen van de verwijderingslogica.
Als je niet zeker bent van 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
:id-parameter benaderd viareq.params.id; - De opmerking kan worden vervangen door logica om gebruikersgegevens op te halen op basis van de uit de URL-parameter verkregen
userId; - Tot slot wordt er gereageerd naar de client met informatie over de gebruiker die geïdentificeerd is door de
:id-parameter.
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 bekijken we een scenario waarin je zowel een specifieke als een catch-all route hebt:
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 behandelt verzoeken met een specifieke gebruikers-ID; - De tweede route,
app.get('/users/*', ...), is een catch-all route voor algemene gebruikersgerelateerde verzoeken. Deze gebruikt een wildcard (*) om elke URL te matchen die begint met/users/, zoals/users/settings.
In dit scenario is de volgorde cruciaal. De specifieke route moet vóór de catch-all route worden gedefinieerd om ervoor te zorgen dat deze voorrang krijgt. Als je de catch-all route eerst definieert, zal deze alle URL's die beginnen met /users/ matchen, en krijgt de specifieke route geen kans om verzoeken met een gebruikers-ID af te handelen.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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 meestal gebruikt voor het aanmaken van nieuwe gebruikersrecords. De route bevat een opmerking voor het afhandelen van de logica voor het aanmaken van gebruikers, 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:id-parameter. Net als de POST-route bevat deze een opmerking voor het afhandelen 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:id-parameter. Zoals bij de andere routes bevat deze een opmerking voor het afhandelen van de verwijderingslogica.
Als je niet zeker bent van 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
:id-parameter benaderd viareq.params.id; - De opmerking kan worden vervangen door logica om gebruikersgegevens op te halen op basis van de uit de URL-parameter verkregen
userId; - Tot slot wordt er gereageerd naar de client met informatie over de gebruiker die geïdentificeerd is door de
:id-parameter.
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 bekijken we een scenario waarin je zowel een specifieke als een catch-all route hebt:
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 behandelt verzoeken met een specifieke gebruikers-ID; - De tweede route,
app.get('/users/*', ...), is een catch-all route voor algemene gebruikersgerelateerde verzoeken. Deze gebruikt een wildcard (*) om elke URL te matchen die begint met/users/, zoals/users/settings.
In dit scenario is de volgorde cruciaal. De specifieke route moet vóór de catch-all route worden gedefinieerd om ervoor te zorgen dat deze voorrang krijgt. Als je de catch-all route eerst definieert, zal deze alle URL's die beginnen met /users/ matchen, en krijgt de specifieke route geen kans om verzoeken met een gebruikers-ID af te handelen.
Bedankt voor je feedback!