Hur man använder Body-parser Middleware i Node.js?

Hur Man Anvander Body Parser Middleware I Node Js



Medan man hanterar HTTP POST-förfrågningar, spelar 'kroppsanalys'-tekniken en viktig roll för att hantera deras kroppar. Det gör det möjligt för användarna att analysera de inkommande begäranden för att ändra dem enligt kraven. Den här tekniken analyserar strängbegäran till ett JavaScript JSON-objekt som kan användas i Node.js-applikationen.

Snabb översikt

Låt oss börja med grunderna för middleware i Node.js.







Vad är Middleware i Node.js?

Mellanvara är en funktion som ger åtkomst till att begära ett objekt, svara på ett objekt och utföra funktionen på ett sekventiellt sätt genom att gå mot nästa mellanprogramfunktion i applikationsbegäran-svarscykeln. Det ger också tillgång till att modifiera förfrågnings- och svarsobjekten för att utföra operationer som verifiering, tolka de begärande organen och mycket mer.



Vad är Body-Parser Middleware i Node.js?

den ' kropp-parser ” är en mellanprogramvara för kroppsanalys som hanterar HTTP POST-förfrågningar. 'POST'-begäran skickar data till en server för att skapa eller ändra resursen. Mellanvaran 'bode-parser' analyserar de inkommande begärandekropparna som ett JavaScript-objekt (om applikationsinnehållstypen är JSON) och HTML-formuläret (om MIME-typen är application/x-www-form-urlencoded ). När det är gjort kan det användas i en applikation.



Efter att ha fått grunderna i body-parser-mellanvaran, låt oss gå in på användningen.





Hur man använder Body-parser Middleware i Node.js?

Följ instruktionerna nedan för att använda body-parser-mellanvara i Node.js:

Låt oss börja med initieringen av Node.js-projektet.



Steg 1: Initiera ett Node.js-projekt

Initiera först Node.js-projektet genom att utföra nedanstående ' npm (nodpakethanterare)” initieringskommando:

npm init - och

I kommandot ovan, ' -och' flaggan används för att svara på alla frågor 'ja'.

Utdata visar att ' package.json ”-filen har skapats med följande uppsättning egenskaper:

Steg 2: Installera Body Parser

Installera sedan body-parser-paketet i den aktuella Node.js-applikationen genom att köra nedan angivna ' npm ” installationskommando:

npm installera kroppen - parser

Utdata nedan visar att body-parser-paketet har installerats framgångsrikt i den givna Node.js-applikationen:

Steg 3: Installera Express och EJS

Installera nu ' inte (Embedded JavaScript Templating)”-biblioteket i Node.js-applikationen. 'ejs' är den välrenommerade JavaScript-motorn som används av Node.js som tar HTML-data som vanligt Javascript:

npm installera ejs

Det kan observeras att 'ejs'-biblioteket har lagts till i den nuvarande Node.js-applikationen:

Installera dessutom ' uttrycka ” webbramverk för att snabbt och enkelt bygga applikationen Node.js:

npm installera express

'Express' har också lagts till i Node.js-applikationen:

Steg 4: Skapa en EJS-mall

När alla nödvändiga paket har installerats skapa en 'ejs'-mall med följande kodrader och spara den som en ' SampleForm.ejs ' fil:

DOCTYPE html >
< html >
< huvud >
< titel > Kropp - Parser Mellanvara titel >
huvud >

< kropp >
< Centrum >
< h1 > Provdagbok h1 >
< form handling = 'spara data' metod = 'POSTA' >
< pre >
< märka > Titel : märka >< ingångstyp = 'text' namn = 'titel' > < br >
< märka > Datum märka >< ingångstyp = 'datum' namn = 'datum' >< br >
< märka > Datum märka >< ingångstyp = 'datum' namn = 'datum' >< br >
< ingångstyp = 'Skicka in' värde = 'Skicka in dagbok' >< br >
pre >

form >
Centrum >
kropp >
html >

Förklaringen av ovanstående kod är följande:

  • den ' ”-taggen anger titeln på HTML-dokumentet.
  • den '
    ”-taggen justerar innehållet i mitten av webbsidan.
  • den '

    ”-taggen infogar ett rubrikelement på första nivån.

  • den '
    ”-taggen skapar ett formulärelement som samlar in information från användaren. Inuti 'form'-elementet ' handling ”-attributet anger åtgärden som utförs vid inlämning av formuläret och metod ”-attribut som har ett “post”-värde skickar data till servern.
  • den '
       ”-taggen visar de angivna elementen på sidan med den fasta teckensnittsbredden samma som i källkoden.
  • den ' ”-taggen anger etiketten för inmatningsfältet.
  • den ' ' typ lägger till inmatningsfältet av typ ' text ' och namnet ' titel ”.
  • De nästa två ' '-taggarna lägger till inmatningsfälten för de angivna typerna och namnen.

Steg 5: Använd Body Parser Middleware

Skapa nu en '.js'-fil med namnet ' index.js ” och använd body-parser-mellanvaran i den för att analysera kropparna för alla inkommande förfrågningar. När '.js'-filen skapas kopierar du följande kodrader i den:

konst bodyparser = behöva ( 'kroppstolkare' )
konst uttrycka = behöva ( 'uttrycka' )
konst väg = behöva ( 'väg' )
konst app = uttrycka ( )
låt PORT = bearbeta. env . hamn || 8080
app. uppsättning ( 'vyer' , väg. Ansluta sig ( __dirnamn ) )
app. uppsättning ( 'visa motor' , 'Nej' )
app. använda sig av ( bodyparser. urlenkodad ( { förlängt : Sann } ) )
app. använda sig av ( bodyparser. json ( ) )
app. skaffa sig ( '/' , funktion ( req, res ) {
res. framställa ( 'SampleForm' )
} ) ;
app. posta ( '/spara data' , ( req, res ) => {
trösta. logga ( 'Använder Body-parser: ' , req. kropp )
} )
app. lyssna ( PORT, funktion ( fel ) {
om ( fel ) kasta fel
trösta. logga ( 'Server skapad på PORT' , PORT )
} )

Förklaringen av de ovan angivna kodraderna är skriven nedan:

  • För det första, ' behöva() ”-metoden importerar modulerna ”body-parser”, ”express” och ”path” i den aktuella Node.js-applikationen.
  • Skapa sedan en instans av expressapplikationen med hjälp av ' uttrycka() ” konstruktör.
  • Efter det kommer ' process.env ' egenskapen kör den lokala servern på standard ' HAMN ”. Om standardporten är upptagen kommer servern att köras på den angivna porten som är ' 8080 ”.
  • Ställ nu in visningsmotorn med hjälp av den angivna mellanvaran där 'vyerna' anger mappen där alla webbsidor sparas och ' path.join() ”-metoden sammanfogar sökvägssegmenten i den aktuella katalogen och skapar en enda sökväg.
  • När allt är klart kommer ' app.use() ”-metoden sätter den angivna ” body-parser ” mellanprogram vid den givna vägen. Denna body-parser-mellanvara använder ' urlenkodad ” parser som bara analyserar de “urlenkodade” kropparna vars “content-type” header matchar med alternativet “type”.
  • Den andra 'kroppstolkaren' använder ' JSON ” parser för att analysera kropparna för inkommande förfrågningar som ett JSON-objekt i nyckel-värde-formatet.
  • den ' app.get() ”-metoden skickar HTTP-”GET”-begäran på den angivna sökvägen och utför en återuppringningsfunktion med ” req (begäran)', och ' res (svara)” parametrar.
  • Inuti återuppringningsfunktionen, ' res.render() ”-metoden återger svaret när den angivna återuppringningsfunktionen körs.
  • Metoden 'app.post()' skickar HTTP-förfrågan 'POST' som är säkrare eftersom den inte visar data i URL:en. Den definierar också en återuppringningsfunktion som använder ' req.body ” för att hämta data från inmatningsfält.
  • Slutligen, ' app.listen() ”-metoden bygger en anslutning på den angivna porten och definierar återuppringningsfunktionen. I den här funktionen är ' om '-satsen ger ett fel om det inträffar under programkörningen, och ' console.log() ” visar bekräftelsemeddelandet på konsolen.

Steg 6: Distribuera Node.js Application

Slutligen, distribuera Node.js-applikationen med hjälp av ' nod ' nyckelord på detta sätt:



nodindex. js

Utförandet av kommandot ovan visar ett bekräftelsemeddelande om att servern har skapats på den angivna porten framgångsrikt:

Besök nu följande URL http://localhost:8080 för att se provdagboken. På webbsidan 'Sample Diary' fyll i alla inmatningsfält och klicka på ' Skicka in dagbok ”-knappen för att spara innehållet:

Det kan observeras att efter att ha skickat informationen visar terminalen automatiskt alla kroppar av HTML-elementen som används i 'Sample Diary' som ett JSON-objekt:

Det handlar om att använda body-parser-mellanvara i Node.js.

Slutsats

För att använda ' body-parser ' i Node.js använd ' urlenkodad ' och den ' JSON ”-tolkare som analyserar kroppen av alla inkommande förfrågningar och visar dem som ett JSON-objekt. Den hanterar 'POST'-förfrågningar och analyserar dem för att hämta innehållet i alla element som används i HTML-dokumentet. Det ger ett enkelt och lättast sätt att behandla datumet som skickas av den inkommande HTTP-förfrågan. Det här inlägget har praktiskt taget demonstrerat användningen av body-parser-mellanvaran i Node.js.