Johdanto Express.js:n Middlewareen
🤔 Middleware-käsitteen ymmärtäminen
Middleware mahdollistaa pyyntöjen käsittelyn ennen kuin ne saavuttavat reittikäsittelijät. Se toimii suodattimena saapuville pyynnöille ja tarjoaa tavan suorittaa erilaisia tehtäviä pyyntö-vastaus-syklissä. Middleware-funktiot ottavat kolme argumenttia: pyyntöobjekti (req), vastausobjekti (res) ja next-funktio, jota käytetään siirtämään ohjaus seuraavalle middlewarelle ketjussa.
Kuvittele vesiputki, jonka läpi vesi virtaa. Vesi pumpataan putken toiseen päähän ja kulkee paineenmittareiden ja venttiilien, eli middlewaremme, läpi ennen kuin se saavuttaa määränpäänsä – lasimme. Tämän analogian keskeinen pointti on, että näiden paineenmittareiden ja venttiilien järjestyksellä on merkitystä.
Samalla tavalla Express.js:n middleware-funktiot suoritetaan tietyssä järjestyksessä, joten middlewarejen rekisteröintijärjestys on ratkaisevan tärkeä sovelluksemme toiminnalle.
🏃♂️ Middleware käytännössä
Lisätään oma middleware-sovelluksemme ennen kuin kutsutaan mitään reittiä.
app.use((req, res, next) => {
console.log('Our middleware');
next();
});
Tämä funktio ei tee mitään muuta kuin päästää pyynnön lävitseen, mutta viestimme ilmestyy aina konsoliin.
Tämä funktio ei suorita mitään erityistä tehtävää; se vain välittää virran itsensä läpi. Se kuitenkin havainnollistaa, miten middleware toimii Express.js-putkessa. Tässä esimerkissä aina, kun pyyntö tehdään Express.js-sovellukseemme, Our middleware tulostetaan konsoliin.
🛤️ Middleware Tarkoitus
Middleware voi palvella useita tarkoituksia Express.js-sovelluksessa, kuten:
- Lokitus: Middleware voi kirjata pyynnön tietoja, kuten HTTP-metodin, URL-osoitteen ja aikaleiman, tarjoten näkymän palvelimesi käsittelemään liikenteeseen;
- Autentikointi: Middleware voi tarkistaa, onko käyttäjä tunnistautunut ennen kuin sallii pääsyn tietyille reiteille. Tätä käytetään usein suojaamaan sovelluksen arkaluonteisia osia;
- Validointi: Middleware voi validoida pyyntödataa ennen sen käsittelyä. Esimerkiksi se voi tarkistaa, onko POST-pyynnössä lähetetty data oikeassa muodossa;
- Virheenkäsittely: Middleware voi havaita ja käsitellä virheitä, joita ilmenee pyynnön käsittelyn aikana. Tämä varmistaa, ettei sovelluksesi kaadu odottamattomien ongelmien ilmetessä;
- CORS (Cross-Origin Resource Sharing): Middleware voi lisätä CORS-otsikot vastauksiin, sallien tai estäen pyynnöt eri domaineista. Tämä on olennaista API:esi suojaamiseksi ja salliaksesi pääsyn eri alkuperistä isännöidyiltä verkkosivuilta.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain how to create custom middleware for logging?
What happens if I forget to call the `next()` function in my middleware?
Can you give an example of authentication middleware in Express.js?
Awesome!
Completion rate improved to 2.56
Johdanto Express.js:n Middlewareen
Pyyhkäise näyttääksesi valikon
🤔 Middleware-käsitteen ymmärtäminen
Middleware mahdollistaa pyyntöjen käsittelyn ennen kuin ne saavuttavat reittikäsittelijät. Se toimii suodattimena saapuville pyynnöille ja tarjoaa tavan suorittaa erilaisia tehtäviä pyyntö-vastaus-syklissä. Middleware-funktiot ottavat kolme argumenttia: pyyntöobjekti (req), vastausobjekti (res) ja next-funktio, jota käytetään siirtämään ohjaus seuraavalle middlewarelle ketjussa.
Kuvittele vesiputki, jonka läpi vesi virtaa. Vesi pumpataan putken toiseen päähän ja kulkee paineenmittareiden ja venttiilien, eli middlewaremme, läpi ennen kuin se saavuttaa määränpäänsä – lasimme. Tämän analogian keskeinen pointti on, että näiden paineenmittareiden ja venttiilien järjestyksellä on merkitystä.
Samalla tavalla Express.js:n middleware-funktiot suoritetaan tietyssä järjestyksessä, joten middlewarejen rekisteröintijärjestys on ratkaisevan tärkeä sovelluksemme toiminnalle.
🏃♂️ Middleware käytännössä
Lisätään oma middleware-sovelluksemme ennen kuin kutsutaan mitään reittiä.
app.use((req, res, next) => {
console.log('Our middleware');
next();
});
Tämä funktio ei tee mitään muuta kuin päästää pyynnön lävitseen, mutta viestimme ilmestyy aina konsoliin.
Tämä funktio ei suorita mitään erityistä tehtävää; se vain välittää virran itsensä läpi. Se kuitenkin havainnollistaa, miten middleware toimii Express.js-putkessa. Tässä esimerkissä aina, kun pyyntö tehdään Express.js-sovellukseemme, Our middleware tulostetaan konsoliin.
🛤️ Middleware Tarkoitus
Middleware voi palvella useita tarkoituksia Express.js-sovelluksessa, kuten:
- Lokitus: Middleware voi kirjata pyynnön tietoja, kuten HTTP-metodin, URL-osoitteen ja aikaleiman, tarjoten näkymän palvelimesi käsittelemään liikenteeseen;
- Autentikointi: Middleware voi tarkistaa, onko käyttäjä tunnistautunut ennen kuin sallii pääsyn tietyille reiteille. Tätä käytetään usein suojaamaan sovelluksen arkaluonteisia osia;
- Validointi: Middleware voi validoida pyyntödataa ennen sen käsittelyä. Esimerkiksi se voi tarkistaa, onko POST-pyynnössä lähetetty data oikeassa muodossa;
- Virheenkäsittely: Middleware voi havaita ja käsitellä virheitä, joita ilmenee pyynnön käsittelyn aikana. Tämä varmistaa, ettei sovelluksesi kaadu odottamattomien ongelmien ilmetessä;
- CORS (Cross-Origin Resource Sharing): Middleware voi lisätä CORS-otsikot vastauksiin, sallien tai estäen pyynnöt eri domaineista. Tämä on olennaista API:esi suojaamiseksi ja salliaksesi pääsyn eri alkuperistä isännöidyiltä verkkosivuilta.
Kiitos palautteestasi!