Hoe gebruik ik body-parser-middleware in Node.js?

Hoe Gebruik Ik Body Parser Middleware In Node Js



Bij het verwerken van HTTP POST-verzoeken speelt de ‘body parsing’-techniek een belangrijke rol bij het omgaan met hun lichamen. Hiermee kunnen gebruikers de inkomende aanvraagteksten analyseren en deze aanpassen aan de vereisten. Deze techniek parseert de hoofdtekst van het tekenreeksverzoek in een JavaScript JSON-object dat kan worden gebruikt in de Node.js-toepassing.

Snel overzicht

Laten we beginnen met de basisprincipes van middleware in Node.js.







Wat is middleware in Node.js?

Middelware is een functie die toegang geeft om een ​​object aan te vragen, op een object te reageren en de functie op sequentiële wijze uit te voeren door naar de volgende middleware-functie in de aanvraag-antwoordcyclus van de applicatie te gaan. Het biedt ook toegang om de aanvraag- en antwoordobjecten te wijzigen om bewerkingen uit te voeren zoals verificatie, het parseren van de verzoekende instanties en nog veel meer.



Wat is Body-Parser-middleware in Node.js?

De ' lichaamsparser ” is een body-parsing middleware die de HTTP POST-verzoeken beheert. Het “POST”-verzoek stuurt de gegevens naar een server om de bron aan te maken of te wijzigen. De “bode-parser” middleware parseert de binnenkomende verzoekteksten als een JavaScript-object (als het inhoudstype van de applicatie JSON is) en het HTML-formulier (als het MIME-type application/x-www-form-urlencoded is). Als het klaar is, kan het in een applicatie worden gebruikt.



Nadat we de basisprincipes van de body-parser-middleware hebben geleerd, gaan we dieper in op het gebruik ervan.





Hoe gebruik ik body-parser-middleware in Node.js?

Om body-parser-middleware in Node.js te gebruiken, volgt u de onderstaande instructies:

Laten we beginnen met de initialisatie van het Node.js-project.



Stap 1: Initialiseer een Node.js-project

Initialiseer eerst het Node.js-project door het onderstaande “ npm (knooppuntpakketbeheerder)”initialisatieopdracht:

npm init - En

In het bovenstaande commando wordt de “ -En' flag wordt gebruikt om alle vragen met “ja” te beantwoorden.

Uit de uitvoer blijkt dat de “ pakket.json ”-bestand is met succes aangemaakt en bevat de volgende set eigenschappen:

Stap 2: Installeer Body Parser

Installeer vervolgens het body-parser-pakket in de huidige Node.js-applicatie door het onderstaande ' npm ”installatieopdracht:

npm installatie lichaam - parser

Uit de onderstaande uitvoer blijkt dat het body-parser-pakket met succes is geïnstalleerd in de gegeven Node.js-toepassing:

Stap 3: Installeer Express en EJS

Installeer nu de “ niet (Embedded JavaScript Templating)”-bibliotheek in de Node.js-applicatie. De “ejs” is de gerenommeerde JavaScript-engine die door Node.js wordt gebruikt en die de HTML-gegevens als gewoon Javascript gebruikt:

npm installeer ejs

Er kan worden opgemerkt dat de “ejs” -bibliotheek is toegevoegd aan de huidige Node.js-applicatie:

Installeer bovendien de “ nadrukkelijk ” webframeworks om de Node.js-applicatie snel en eenvoudig te bouwen:

npm install express

De “express” is ook toegevoegd aan de Node.js-applicatie:

Stap 4: Maak een EJS-sjabloon

Zodra alle vereiste pakketten zijn geïnstalleerd, maakt u een “ejs”-sjabloon met de volgende regels code en slaat u deze op als een “ VoorbeeldForm.ejs ' bestand:

DOCTYPEhtml >
< html >
< hoofd >
< titel > Lichaam - Parser Middelware titel >
hoofd >

< lichaam >
< centrum >
< h1 > Voorbeeld dagboek h1 >
< actie vormen = 'gegevens opslaan' methode = 'NA' >
< pre >
< etiket > Titel : etiket >< invoertype = 'tekst' naam = 'titel' > < br >
< etiket > Datum etiket >< invoertype = 'datum' naam = 'datum' >< br >
< etiket > Datum etiket >< invoertype = 'datum' naam = 'datum' >< br >
< invoertype = 'indienen' waarde = 'Verzend dagboek' >< br >
pre >

formulier >
centrum >
lichaam >
html >

De uitleg van de bovenstaande code is als volgt:

  • De ' ”-tag specificeert de titel van het HTML-document.
  • De ' '-tag lijnt de inhoud uit in het midden van de webpagina.
  • De '

    '-tag voegt een kopelement van het eerste niveau in.

  • De ' 'tag creëert een formulierelement dat informatie van de gebruiker verzamelt. Binnen het “form” element de “ actie ” attribuut specificeert de actie die wordt uitgevoerd bij het indienen van formulieren en het “ methode ”-attribuut met een “post”-waarde verzendt gegevens naar de server.
  • De ' ”-tag geeft de gespecificeerde elementen op de pagina weer met de vaste letterbreedte die hetzelfde is als in de broncode.
  • De ' ”-tag specificeert het label van het invoerveld.
  • De ' ” type voegt het invoerveld van type “ toe tekst ” en de naam “ titel ”.
  • De volgende twee “ ”-tags voegen de invoervelden van de opgegeven typen en namen toe.

Stap 5: Gebruik Body Parser Middleware

Maak nu een “.js” -bestand met de naam “ index.js ' en gebruik de body-parser-middleware erin om de hoofdtekst van alle inkomende verzoeken te ontleden. Wanneer het “.js”-bestand is gemaakt, kopieert u de volgende coderegels erin:

const lichaamsparser = vereisen ( 'body-parser' )
const nadrukkelijk = vereisen ( 'nadrukkelijk' )
const pad = vereisen ( 'pad' )
const app = nadrukkelijk ( )
laat POORT = proces. omg . haven || 8080
app. set ( 'keer bekeken' , pad. meedoen ( __mapnaam ) )
app. set ( 'Bekijk motor' , 'Nee' )
app. gebruik ( lichaamsparser. urlengecodeerd ( { verlengd : WAAR } ) )
app. gebruik ( lichaamsparser. json ( ) )
app. krijgen ( '/' , functie ( verzoek, res ) {
res. veroorzaken ( 'Voorbeeldformulier' )
} ) ;
app. na ( '/gegevens opslaan' , ( verzoek, res ) => {
troosten. loggen ( 'Body-parser gebruiken: ' , aanvr. lichaam )
} )
app. luisteren ( POORT, functie ( fout ) {
als ( fout ) gooien fout
troosten. loggen ( 'Server gemaakt op POORT' , POORT )
} )

De uitleg van de bovengenoemde coderegels staat hieronder:

  • In de eerste plaats de “ vereisen() De methode importeert de modules “body-parser”, “express” en “path” in de huidige Node.js-applicatie.
  • Maak vervolgens een exemplaar van de uitdrukkelijke toepassing met behulp van de “ nadrukkelijk() 'constructeur.
  • Daarna wordt de “ proces.env 'eigenschap voert de lokale server standaard uit' HAVEN ”. Als de standaardpoort bezet is, wordt de server uitgevoerd op de opgegeven poort, namelijk “ 8080 ”.
  • Stel nu de view-engine in met behulp van de opgegeven middleware waarin de “views” de map aangeeft waarin alle webpagina’s zijn opgeslagen en de “ pad.join() ”-methode voegt de padsegmenten van de huidige map samen en creëert één pad.
  • Als alles klaar is, verschijnt de “ app.gebruik() 'methode plaatst de opgegeven' lichaamsparser 'middleware op het opgegeven pad. Deze body-parser-middleware gebruikt de “ urlengecodeerd '-parser die alleen de 'urlencoded'-teksten parseert waarvan de header 'content-type' overeenkomt met de optie 'type'.
  • De tweede “body parser” gebruikt de “ JSON ”-parser om de hoofdtekst van inkomende verzoeken te parseren als een JSON-object in het sleutelwaardeformaat.
  • De ' app.get() ”-methode verzendt het HTTP “GET”-verzoek op het opgegeven pad en voert een callback-functie uit met de “ aanvr (verzoek)”, en “ res (reageren)”-parameters.
  • Binnen de callback-functie, de “ res.render() ”-methode geeft het antwoord weer wanneer de opgegeven callback-functie wordt uitgevoerd.
  • De “app.post()”-methode verzendt het HTTP “POST”-verzoek, wat veiliger is omdat de gegevens niet in de URL worden weergegeven. Het definieert ook een callback-functie die gebruik maakt van de “ vereiste lichaam ” om de gegevens uit invoervelden te halen.
  • Als laatste wordt de “ app.luister() ”-methode bouwt een verbinding op de opgegeven poort en definieert de callback-functie. In deze functie is de “ als ”-instructie genereert een fout als deze optreedt tijdens de uitvoering van het programma, en de “ console.log() ” geeft de bevestigingsverklaring op de console weer.

Stap 6: Implementeer de Node.js-applicatie

Implementeer ten slotte de Node.js-applicatie met behulp van de “ knooppunt ” trefwoord op deze manier:



knooppuntindex. js

De uitvoering van de bovenstaande opdracht toont een bevestigingsbericht dat de server met succes op de opgegeven poort is aangemaakt:

Bezoek nu de volgende URL http://localhost:8080 om het Voorbeelddagboek te bekijken. Vul op de webpagina “Voorbeelddagboek” alle invoervelden in en klik op de knop “ Dien dagboek in '-knop om de inhoud op te slaan:

Opgemerkt kan worden dat de terminal na het indienen van de informatie automatisch alle lichamen van de HTML-elementen toont die in de “Sample Diary” worden gebruikt als een JSON-object:

Dat gaat allemaal over het gebruik van body-parser-middleware in Node.js.

Conclusie

Om gebruik te maken van de “ lichaamsparser ” in Node.js gebruik de “ urlengecodeerd ' en de ' JSON ”-parsers die de hoofdtekst van alle inkomende verzoeken parseren en deze weergeven als een JSON-object. Het verwerkt de lichamen van “POST”-verzoeken en ontleedt deze om de inhoud op te halen van alle elementen die in het HTML-document worden gebruikt. Het biedt een eenvoudige en gemakkelijkste manier om de datum te verwerken die is verzonden door de inkomende HTTP-aanvraagtekst. Dit bericht heeft praktisch het gebruik van de body-parser-middleware in Node.js gedemonstreerd.