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-toimintojen 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 middleware-toimintojen, läpi ennen kuin se saavuttaa määränpäänsä – lasin. Tämän analogian keskeinen ajatus 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ä sovelluksen toiminnallisuuden kannalta.

Middleware käytännössä

Lisätään oma middleware sovellukseemme 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ää virran kulkemaan itsensä läpi, 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, mukaan lukien:

  • 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ä todennettu 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 siepata 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-otsakkeita 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

Awesome!

Completion rate improved to 2.56

bookJohdanto Express.js:n Middlewareen

Pyyhkäise näyttääksesi valikon

Middleware-toimintojen 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 middleware-toimintojen, läpi ennen kuin se saavuttaa määränpäänsä – lasin. Tämän analogian keskeinen ajatus 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ä sovelluksen toiminnallisuuden kannalta.

Middleware käytännössä

Lisätään oma middleware sovellukseemme 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ää virran kulkemaan itsensä läpi, 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, mukaan lukien:

  • 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ä todennettu 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 siepata 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-otsakkeita 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