Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Johdanto Express.js:n Middlewareen | Verkkosovellusten Kehittäminen Express.js:llä
Backend-kehitys Node.js:llä ja Express.js:llä

bookJohdanto 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.
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

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

bookJohdanto 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.
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 7
some-alt