Routing i Express.js: Hantera användarförfrågningar

I Express.js, routing är ett avgörande koncept som låter dig definiera hur din applikation hanterar inkommande HTTP-förfrågningar från användare. Med rutter kan du ange specifika åtgärder när användare skickar förfrågningar till specifika webbadresser i din applikation.

Steg 1: Skapa en Basic Route

För att skapa en route in Express.js använder du app.METHOD(PATH, HANDLER) metoden för applikationsobjektet( app) för att registrera en route för en specifik HTTP-metod METHOD och en sökväg PATH. HANDLER är en hanterarfunktion som kommer att anropas när en begäran träffar den route.

Till exempel, för att skapa en route som hanterar en GET begäran till /hello kan du använda följande kod:

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

Steg 2: Hantera förfrågningar och svar

I hanterarfunktionen kan du hantera inkommande förfrågningar från användare och svara med hjälp av objekten req(request) och res(response). Objektet req innehåller information om den inkommande begäran, såsom URL-parametrar, skickade data, avsändarens IP-adress, etc. Objektet res innehåller metoder för att svara på begäran, såsom res.send(), res.json(), res.render(), etc.

Steg 3: Hantera flera rutter

Express.js låter dig definiera flera rutter för samma URL med olika HTTP-metoder. Till exempel:

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

Steg 4: Hantera dynamiska parametrar

Du kan också definiera rutter som innehåller dynamiska parametrar, definierade av ett kolon() :. Till exempel:

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

När en användare gör en begäran till kommer /users/123 variabeln userId att ha värdet "123".

Steg 5: Separera Routing med moduler

I större projekt kanske du vill separera rutter i separata filer för att hålla din källkod organiserad och hanterbar. Du kan använda module.exports för att definiera rutter i separata filer och sedan importera dem till huvudfilen. Till exempel:

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

Steg 6: Hantera icke-existerande rutter

Slutligen, om en användare begär en icke-existerande, route kan du definiera en 404 route för att hantera den. Detta görs genom att ställa in en standard route i slutet av din huvudfil:

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

Vi har lärt oss hur man skapar och hanterar rutter i Express.js. Genom att använda den här funktionen kan du anpassa och hantera användarförfrågningar flexibelt och kraftfullt, vilket gör din applikation mer anpassningsbar och skalbar. Fortsätt att utforska och använda rutter för att bygga rika och fantastiska webbapplikationer!