Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Oppretting og Håndtering av Ruter i Express.js | Utvikling av Webapplikasjoner med Express.js
Backend-Utvikling med Node.js og Express.js

bookOppretting og Håndtering av Ruter i Express.js

La oss utforske disse praktiske eksemplene på hvordan man oppretter ruter i Express.js i mer detalj.

🌟 Grunnleggende ruter

La oss lage en enkel Express.js-applikasjon med ruter for ulike HTTP-metoder. Hver rute håndterer en spesifikk HTTP-forespørsel og sender et svar tilbake til klienten.

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-rute: Denne ruten svarer på en GET-forespørsel til rot-URL-en (/). Brukere som besøker applikasjonens hjemmeside vil motta meldingen "This is the homepage.";
  • POST-rute: Denne ruten svarer på en POST-forespørsel til /users-URL-en. Den brukes vanligvis til å opprette nye brukere. Ruten inneholder en kommentar for håndtering av logikk for opprettelse av bruker, som kan erstattes med faktisk logikk;
  • PUT-rute: Denne ruten svarer på en PUT-forespørsel til /users/:id-URL-en. Den er laget for å oppdatere brukerdata basert på :id-parameteren. Som POST-ruten inneholder den en kommentar for håndtering av oppdateringslogikk;
  • DELETE-rute: Denne ruten svarer på en DELETE-forespørsel til /users/:id-URL-en. Den brukes til å slette brukere basert på :id-parameteren. Som de andre rutene inneholder den en kommentar for håndtering av slettelogikk.

Merk

Hvis du er usikker på hva en URL er, eller ønsker å repetere konseptet, vennligst se følgende artikkel: URL vs URI vs URN

🌟 Håndtering av URL-parametere

Fokus på å opprette en rute som håndterer URL-parametere. URL-parametere er dynamiske deler av en URL som kan brukes til å sende data til serveren. Slik fungerer dette eksempelet:

app.get('/users/:id', (req, res) => {
  const userId = req.params.id;
  // Fetch user data based on `userId`.
  res.send(`User details for ID ${userId}.`);
});
  • En rute defineres med app.get('/users/:id', ...), hvor :id er en URL-parameter. Dette betyr at når en bruker går til en URL som /users/123, vil variabelen req.params.id inneholde verdien 123;
  • Inne i rutehåndtereren får vi tilgang til :id-parameteren ved å bruke req.params.id;
  • Kommentaren kan erstattes med logikk for å hente brukerdata basert på userId hentet fra URL-parameteren;
  • Til slutt sendes et svar til klienten med informasjon om brukeren identifisert av :id-parameteren.

🌟 Rekkefølge og prioritering av ruter

Rekkefølgen rutene defineres i er viktig fordi Express benytter en "første treff vinner"-strategi. Den første ruten som matcher vil bli kjørt. I dette eksempelet vurderes et scenario hvor du har både en spesifikk og en generell rute:

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.');
});
  • Den første ruten, app.get('/users/:id', ...), er en spesifikk rute som svarer på URL-er som /users/123. Den håndterer forespørsler med en spesifikk bruker-ID;
  • Den andre ruten, app.get('/users/*', ...), er en generell rute for brukerrelaterte forespørsler. Den benytter et jokertegn (*) for å matche alle URL-er som starter med /users/, for eksempel /users/settings.

I dette tilfellet er rekkefølgen avgjørende. Den spesifikke ruten bør defineres før den generelle for å sikre at den får prioritet. Hvis du definerer den generelle ruten først, vil den matche alle URL-er som starter med /users/, og den spesifikke ruten vil ikke få mulighet til å håndtere forespørsler med bruker-ID.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 5

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 2.56

bookOppretting og Håndtering av Ruter i Express.js

Sveip for å vise menyen

La oss utforske disse praktiske eksemplene på hvordan man oppretter ruter i Express.js i mer detalj.

🌟 Grunnleggende ruter

La oss lage en enkel Express.js-applikasjon med ruter for ulike HTTP-metoder. Hver rute håndterer en spesifikk HTTP-forespørsel og sender et svar tilbake til klienten.

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-rute: Denne ruten svarer på en GET-forespørsel til rot-URL-en (/). Brukere som besøker applikasjonens hjemmeside vil motta meldingen "This is the homepage.";
  • POST-rute: Denne ruten svarer på en POST-forespørsel til /users-URL-en. Den brukes vanligvis til å opprette nye brukere. Ruten inneholder en kommentar for håndtering av logikk for opprettelse av bruker, som kan erstattes med faktisk logikk;
  • PUT-rute: Denne ruten svarer på en PUT-forespørsel til /users/:id-URL-en. Den er laget for å oppdatere brukerdata basert på :id-parameteren. Som POST-ruten inneholder den en kommentar for håndtering av oppdateringslogikk;
  • DELETE-rute: Denne ruten svarer på en DELETE-forespørsel til /users/:id-URL-en. Den brukes til å slette brukere basert på :id-parameteren. Som de andre rutene inneholder den en kommentar for håndtering av slettelogikk.

Merk

Hvis du er usikker på hva en URL er, eller ønsker å repetere konseptet, vennligst se følgende artikkel: URL vs URI vs URN

🌟 Håndtering av URL-parametere

Fokus på å opprette en rute som håndterer URL-parametere. URL-parametere er dynamiske deler av en URL som kan brukes til å sende data til serveren. Slik fungerer dette eksempelet:

app.get('/users/:id', (req, res) => {
  const userId = req.params.id;
  // Fetch user data based on `userId`.
  res.send(`User details for ID ${userId}.`);
});
  • En rute defineres med app.get('/users/:id', ...), hvor :id er en URL-parameter. Dette betyr at når en bruker går til en URL som /users/123, vil variabelen req.params.id inneholde verdien 123;
  • Inne i rutehåndtereren får vi tilgang til :id-parameteren ved å bruke req.params.id;
  • Kommentaren kan erstattes med logikk for å hente brukerdata basert på userId hentet fra URL-parameteren;
  • Til slutt sendes et svar til klienten med informasjon om brukeren identifisert av :id-parameteren.

🌟 Rekkefølge og prioritering av ruter

Rekkefølgen rutene defineres i er viktig fordi Express benytter en "første treff vinner"-strategi. Den første ruten som matcher vil bli kjørt. I dette eksempelet vurderes et scenario hvor du har både en spesifikk og en generell rute:

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.');
});
  • Den første ruten, app.get('/users/:id', ...), er en spesifikk rute som svarer på URL-er som /users/123. Den håndterer forespørsler med en spesifikk bruker-ID;
  • Den andre ruten, app.get('/users/*', ...), er en generell rute for brukerrelaterte forespørsler. Den benytter et jokertegn (*) for å matche alle URL-er som starter med /users/, for eksempel /users/settings.

I dette tilfellet er rekkefølgen avgjørende. Den spesifikke ruten bør defineres før den generelle for å sikre at den får prioritet. Hvis du definerer den generelle ruten først, vil den matche alle URL-er som starter med /users/, og den spesifikke ruten vil ikke få mulighet til å håndtere forespørsler med bruker-ID.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 5
some-alt