Reittien Luominen ja Hallinta Express.js:ssä
Pyyhkäise näyttääksesi valikon
Tarkastellaan näitä käytännön esimerkkejä reittien luomisesta Express.js:ssä tarkemmin.
Perusreitit
Luodaan yksinkertainen Express.js-sovellus, jossa on reitit eri HTTP-metodeille. Jokainen reitti käsittelee tietyn HTTP-pyynnön ja lähettää vastauksen asiakkaalle.
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-reitti: Tämä reitti vastaa GET-pyyntöön juuriosoitteessa (
/). Sovelluksen etusivulle saapuvat käyttäjät saavat viestin "This is the homepage."; - POST-reitti: Tämä reitti vastaa POST-pyyntöön osoitteessa
/users. Sitä käytetään tyypillisesti uusien käyttäjätietueiden luomiseen. Reitillä on kommentti käyttäjän luonnin logiikalle, joka voidaan korvata varsinaisella toteutuksella; - PUT-reitti: Tämä reitti vastaa PUT-pyyntöön osoitteessa
/users/:id. Se on tarkoitettu käyttäjätietueiden päivittämiseen:id-parametrin perusteella. Kuten POST-reitillä, mukana on kommentti päivityslogiikalle; - DELETE-reitti: Tämä reitti vastaa DELETE-pyyntöön osoitteessa
/users/:id. Sitä käytetään käyttäjätietueiden poistamiseen:id-parametrin perusteella. Kuten muissakin reiteissä, mukana on kommentti poistologiikalle.
Jos olet epävarma URL-osoitteesta tai haluat kerrata käsitteen, tutustu seuraavaan artikkeliin: URL vs URI vs URN
URL-parametrien käsittely
Keskitytään reitin luomiseen, joka käsittelee URL-parametreja. URL-parametrit ovat dynaamisia osia URL-osoitteessa, joita voidaan käyttää tiedon välittämiseen palvelimelle. Näin tämä esimerkki toimii:
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
// Fetch user data based on `userId`.
res.send(`User details for ID ${userId}.`);
});
- Määritämme reitin käyttämällä
app.get('/users/:id', ...), jossa:idon URL-parametri. Tämä tarkoittaa, että kun käyttäjä siirtyy osoitteeseen/users/123, muuttujaanreq.params.idtallentuu arvo123; - Reitin käsittelijän sisällä pääsemme käsiksi
:id-parametriin käyttämälläreq.params.id; - Voit korvata kommentin logiikalla, joka hakee käyttäjätiedot URL-parametrista saadun
userId:n perusteella; - Lopuksi vastaamme asiakkaalle tiedoilla käyttäjästä, jonka tunnisteena on
:id-parametri.
Reittien järjestys ja priorisointi
Reittien määrittelyjärjestyksellä on merkitystä, koska Express käyttää "ensimmäinen osuma voittaa" -strategiaa. Ensimmäinen sopiva reitti suoritetaan. Tässä esimerkissä tarkastellaan tilannetta, jossa käytössä on sekä tarkka että yleinen reitti:
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.');
});
- Ensimmäinen reitti,
app.get('/users/:id', ...), on tarkka reitti, joka vastaa URL-osoitteisiin kuten/users/123. Se käsittelee pyynnöt, joissa on tietty käyttäjätunnus; - Toinen reitti,
app.get('/users/*', ...), on yleisreitti käyttäjiin liittyville pyynnöille. Se käyttää jokerimerkkiä (*) vastatakseen kaikkiin URL-osoitteisiin, jotka alkavat/users/, kuten/users/settings.
Tässä tilanteessa järjestys on ratkaiseva. Tarkka reitti tulee määritellä ennen yleisreittiä, jotta se saa etusijan. Jos määrittelet yleisreitin ensin, se vastaa kaikkiin /users/-alkuisiin osoitteisiin, eikä tarkka reitti pääse käsittelemään käyttäjätunnuksella varustettuja pyyntöjä.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Reittien Luominen ja Hallinta Express.js:ssä
Tarkastellaan näitä käytännön esimerkkejä reittien luomisesta Express.js:ssä tarkemmin.
Perusreitit
Luodaan yksinkertainen Express.js-sovellus, jossa on reitit eri HTTP-metodeille. Jokainen reitti käsittelee tietyn HTTP-pyynnön ja lähettää vastauksen asiakkaalle.
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-reitti: Tämä reitti vastaa GET-pyyntöön juuriosoitteessa (
/). Sovelluksen etusivulle saapuvat käyttäjät saavat viestin "This is the homepage."; - POST-reitti: Tämä reitti vastaa POST-pyyntöön osoitteessa
/users. Sitä käytetään tyypillisesti uusien käyttäjätietueiden luomiseen. Reitillä on kommentti käyttäjän luonnin logiikalle, joka voidaan korvata varsinaisella toteutuksella; - PUT-reitti: Tämä reitti vastaa PUT-pyyntöön osoitteessa
/users/:id. Se on tarkoitettu käyttäjätietueiden päivittämiseen:id-parametrin perusteella. Kuten POST-reitillä, mukana on kommentti päivityslogiikalle; - DELETE-reitti: Tämä reitti vastaa DELETE-pyyntöön osoitteessa
/users/:id. Sitä käytetään käyttäjätietueiden poistamiseen:id-parametrin perusteella. Kuten muissakin reiteissä, mukana on kommentti poistologiikalle.
Jos olet epävarma URL-osoitteesta tai haluat kerrata käsitteen, tutustu seuraavaan artikkeliin: URL vs URI vs URN
URL-parametrien käsittely
Keskitytään reitin luomiseen, joka käsittelee URL-parametreja. URL-parametrit ovat dynaamisia osia URL-osoitteessa, joita voidaan käyttää tiedon välittämiseen palvelimelle. Näin tämä esimerkki toimii:
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
// Fetch user data based on `userId`.
res.send(`User details for ID ${userId}.`);
});
- Määritämme reitin käyttämällä
app.get('/users/:id', ...), jossa:idon URL-parametri. Tämä tarkoittaa, että kun käyttäjä siirtyy osoitteeseen/users/123, muuttujaanreq.params.idtallentuu arvo123; - Reitin käsittelijän sisällä pääsemme käsiksi
:id-parametriin käyttämälläreq.params.id; - Voit korvata kommentin logiikalla, joka hakee käyttäjätiedot URL-parametrista saadun
userId:n perusteella; - Lopuksi vastaamme asiakkaalle tiedoilla käyttäjästä, jonka tunnisteena on
:id-parametri.
Reittien järjestys ja priorisointi
Reittien määrittelyjärjestyksellä on merkitystä, koska Express käyttää "ensimmäinen osuma voittaa" -strategiaa. Ensimmäinen sopiva reitti suoritetaan. Tässä esimerkissä tarkastellaan tilannetta, jossa käytössä on sekä tarkka että yleinen reitti:
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.');
});
- Ensimmäinen reitti,
app.get('/users/:id', ...), on tarkka reitti, joka vastaa URL-osoitteisiin kuten/users/123. Se käsittelee pyynnöt, joissa on tietty käyttäjätunnus; - Toinen reitti,
app.get('/users/*', ...), on yleisreitti käyttäjiin liittyville pyynnöille. Se käyttää jokerimerkkiä (*) vastatakseen kaikkiin URL-osoitteisiin, jotka alkavat/users/, kuten/users/settings.
Tässä tilanteessa järjestys on ratkaiseva. Tarkka reitti tulee määritellä ennen yleisreittiä, jotta se saa etusijan. Jos määrittelet yleisreitin ensin, se vastaa kaikkiin /users/-alkuisiin osoitteisiin, eikä tarkka reitti pääse käsittelemään käyttäjätunnuksella varustettuja pyyntöjä.
Kiitos palautteestasi!