Routing i Express.js: Håndtering af brugeranmodninger

I Express.js, routing er et afgørende koncept, der giver dig mulighed for at definere, hvordan din applikation håndterer indkommende HTTP-anmodninger fra brugere. Ruter giver dig mulighed for at angive specifikke handlinger, når brugere sender anmodninger til specifikke URL'er på din applikation.

Trin 1: Oprettelse af en grundlæggende Route

For at oprette en route in Express.js bruger du app.METHOD(PATH, HANDLER) metoden for applikationsobjektet( app) til at registrere en route for en specifik HTTP-metode METHOD og en sti PATH. HANDLER er en handlerfunktion, der vil blive kaldt, når en anmodning rammer den route.

For eksempel, for at oprette en route, der håndterer en GET anmodning til /hello, kan du bruge følgende kode:

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

Trin 2: Håndtering af anmodninger og svar

I handlerfunktionen kan du håndtere indkommende anmodninger fra brugere og svare ved at bruge req(request) og res(response) objekterne. Objektet req indeholder information om den indkommende anmodning, såsom URL-parametre, sendte data, afsenderens IP-adresse osv. Objektet res indeholder metoder til at svare på anmodningen, såsom res.send(), res.json(), res.render(), osv.

Trin 3: Håndtering af flere ruter

Express.js giver dig mulighed for at definere flere ruter for den samme URL med forskellige HTTP-metoder. For eksempel:

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!');  
});  

Trin 4: Håndtering af dynamiske parametre

Du kan også definere ruter, der indeholder dynamiske parametre, defineret med et kolon( :). For eksempel:

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

Når en bruger laver en anmodning til /users/123, userId vil variablen have værdien "123".

Trin 5: Adskil Routing med moduler

I større projekter vil du måske adskille ruter i separate filer for at holde din kildekode organiseret og overskuelig. Du kan bruge module.exports til at definere ruter i separate filer og derefter importere dem til hovedfilen. For eksempel:

// 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);  

Trin 6: Håndtering af ikke-eksisterende ruter

Endelig, hvis en bruger anmoder om en ikke-eksisterende route, kan du definere en 404 route til at håndtere den. Dette gøres ved at indstille en standard route i slutningen af ​​din hovedfil:

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

Vi har lært at oprette og håndtere ruter i Express.js. Ved at bruge denne funktion kan du tilpasse og håndtere brugeranmodninger fleksibelt og effektivt, hvilket gør din applikation mere tilpasningsdygtig og skalerbar. Fortsæt med at udforske og bruge ruter til at bygge rige og fantastiske webapplikationer!