Routing in Express.js: Gebruikersverzoeken afhandelen

In Express.js is routing een cruciaal concept waarmee u kunt definiëren hoe uw applicatie omgaat met inkomende HTTP-verzoeken van gebruikers. Met routes kunt u specifieke acties opgeven wanneer gebruikers verzoeken naar specifieke URL's in uw toepassing sturen.

Stap 1: een basis maken Route

Om een route ​​in te maken Express.js, gebruikt u de app.METHOD(PATH, HANDLER) methode van het toepassingsobject() om een ​​voor een specifieke HTTP-methode METHODE en een pad PATH te app registreren. route De HANDLER is een handlerfunctie die wordt aangeroepen wanneer een verzoek dat bereikt route.

Om bijvoorbeeld een te maken route die een GET verzoek aan afhandelt /hello, kunt u de volgende code gebruiken:

app.get('/hello',(req, res) => {  
  res.send('Hello, this is the /hello route!');  
});  

Stap 2: Verzoeken en antwoorden afhandelen

In de handlerfunctie kunt u inkomende verzoeken van gebruikers afhandelen en reageren met behulp van de objecten req(verzoek) en(antwoord). res Het req object bevat informatie over het inkomende verzoek, zoals URL-parameters, verzonden gegevens, het IP-adres van de afzender, enz. Het res object bevat methoden om op het verzoek te reageren, zoals res.send(), res.json(), res.render(), enz.

Stap 3: meerdere routes afhandelen

Express.js stelt u in staat om meerdere routes te definiëren voor dezelfde URL met verschillende HTTP-methoden. Bijvoorbeeld:

app.get('/hello',(req, res) => {  
  res.send('Hello, this is the GET /hello route!');  
});  
  
app.post('/hello',(req, res) => {  
  res.send('Hello, this is the POST /hello route!');  
});  

Stap 4: Omgaan met dynamische parameters

U kunt ook routes definiëren die dynamische parameters bevatten, gedefinieerd door een dubbele punt( :). Bijvoorbeeld:

app.get('/users/:id',(req, res) => {  
  const userId = req.params.id;  
  res.send(`Hello, this is the GET /users/${userId} route!`);  
});  

Wanneer een gebruiker een verzoek doet aan /users/123, userId heeft de variabele de waarde "123".

Stap 5: Scheid Routing met module

In grotere projecten wilt u misschien routes scheiden in afzonderlijke bestanden om uw broncode georganiseerd en beheersbaar te houden. U kunt gebruiken module.exports om routes in afzonderlijke bestanden te definiëren en deze vervolgens in het hoofdbestand te importeren. Bijvoorbeeld:

// routes/users.js  
const express = require('express');  
const router = express.Router();  
  
router.get('/profile',(req, res) => {  
  res.send('This is the /profile route in users.js!');  
});  
  
module.exports = router;  
// app.js  
const usersRouter = require('./routes/users');  
app.use('/users', usersRouter);  

Stap 6: omgaan met niet-bestaande routes

Ten slotte, als een gebruiker een non-existent aanvraagt route, kunt u een 404 definiëren route om dit af te handelen. Dit doet u door een standaardinstelling in te stellen route aan het einde van uw hoofdbestand:

app.use((req, res, next) => {  
  res.status(404).send('Route not found!');  
});  

We hebben geleerd hoe we routes in Express.js. Door deze functie te gebruiken, kunt u gebruikersverzoeken flexibel en krachtig aanpassen en afhandelen, waardoor uw applicatie flexibeler en schaalbaarder wordt. Blijf routes verkennen en gebruiken bij het bouwen van rijke en fantastische webapplicaties!