Routing i Express.js: Håndtering av brukerforespørsler

I Express.js, routing er et avgjørende konsept som lar deg definere hvordan applikasjonen din håndterer innkommende HTTP-forespørsler fra brukere. Ruter lar deg spesifisere spesifikke handlinger når brukere sender forespørsler til spesifikke URL-er på applikasjonen din.

Trinn 1: Opprette en grunnleggende Route

For å opprette en route i Express.js bruker du app.METHOD(PATH, HANDLER) metoden til applikasjonsobjektet( app) for å registrere en route for en spesifikk HTTP-metode METODE og en bane PATH. HANDLER er en behandlerfunksjon som vil bli kalt når en forespørsel treffer den route.

For eksempel, for å lage en route som håndterer en GET forespørsel til /hello, kan du bruke følgende kode:

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

Trinn 2: Håndtering av forespørsler og svar

I behandlerfunksjonen kan du håndtere innkommende forespørsler fra brukere og svare ved å bruke req(request) og res(response) objektene. Objektet req inneholder informasjon om den innkommende forespørselen, som URL-parametere, sendte data, avsenderens IP-adresse osv. Objektet res inneholder metoder for å svare på forespørselen, som res.send(), res.json(), res.render(), osv.

Trinn 3: Håndtering av flere ruter

Express.js lar deg definere flere ruter for samme URL med forskjellige 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!');  
});  

Trinn 4: Håndtering av dynamiske parametere

Du kan også definere ruter som inneholder dynamiske parametere, definert av 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 bruker sender en forespørsel til /users/123, userId vil variabelen ha verdien "123".

Trinn 5: Separer Routing med moduler

I større prosjekter kan det være lurt å dele ruter i separate filer for å holde kildekoden organisert og håndterbar. Du kan bruke module.exports til å definere ruter i separate filer og deretter 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);  

Trinn 6: Håndtering av ikke-eksisterende ruter

Til slutt, hvis en bruker ber om en ikke-eksisterende route, kan du definere en 404 route for å håndtere den. Dette gjøres ved å angi en standard route på slutten av hovedfilen din:

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

Vi har lært å lage og håndtere ruter i Express.js. Ved å bruke denne funksjonen kan du tilpasse og håndtere brukerforespørsler fleksibelt og kraftig, noe som gjør applikasjonen din mer tilpasningsdyktig og skalerbar. Fortsett å utforske og bruke ruter for å bygge rike og fantastiske nettapplikasjoner!