2024. szeptember 17., kedd

12 B Body-parser modul

 A body-parser egy Node.js middleware modul, amely megkönnyíti a bejövő HTTP-kérések body részének kezelését. Ez a modul különösen hasznos akkor, ha az űrlapadatokat vagy JSON-tartalmat szeretnél fogadni és feldolgozni egy POST vagy PUT kérés során az Express-ben.

Miért van szükség a body-parser-re?

Alapértelmezésben a Node.js és az Express nem képes a kérések törzsét automatikusan feldolgozni. Ezért van szükség a body-parser modulra, amely a kérések törzsét elérhetővé teszi a req.body objektumon keresztül.

Telepítése: npm install body-parser

Példa a használatára:

const express = require('express');

const bodyParser = require('body-parser');

const app = express();

// A body-parser használata JSON formátumú adatok feldolgozásához

/* app.use(bodyParser.json()): Ez a middleware lehetővé teszi, hogy JSON típusú kéréseket tudjunk feldolgozni, így például egy API-ban érkező JSON adatok a req.body-ban lesznek elérhetők. */

app.use(bodyParser.json());

// A body-parser használata URL-kódolt adatok feldolgozásához

/* app.use(bodyParser.urlencoded({ extended: true })): Ez az opció az űrlapokon keresztül küldött URL-kódolt adatokat dolgozza fel (mint a HTML form elemek application/x-www-form-urlencoded típusa). Az extended: true opció lehetővé teszi, hogy összetett objektumokat (pl. beágyazott objektumokat) is kezeljünk. */

app.use(bodyParser.urlencoded({ extended: true }));

// Példa POST kérésre

app.post('/submit', (req, res) => {

  const name = req.body.name;

  const email = req.body.email;

  res.send(`Név: ${name}, Email: ${email}`);

});

 

// A szerver figyel a 3000-es porton

app.listen(3000, () => {

  console.log('Szerver fut a http://localhost:3000 címen');

});

Működés:

Ha egy POST kérés érkezik a /submit útvonalra, például egy HTML űrlapból, a body-parser feldolgozza a kérést, és az adatokat a req.body objektumban tárolja. Ezután az adatok hozzáférhetők a további feldolgozáshoz vagy válaszként történő küldéshez.

Extended beállítás a urlencoded metódusnál

extended: true: Lehetővé teszi, hogy összetett adatstruktúrák, például beágyazott objektumok is kezelhetők legyenek (azaz nemcsak sima string értékeket tudsz fogadni).

extended: false: Csak egyszerű key-value párokat enged feldolgozni, például az alapvető URL-kódolt formákat.

Az express újabb verzióiban (pl. Express 4.x-től) a body-parser bizonyos funkciói beépítésre kerültek az Express alapvető részeként, így külön body-parser telepítése nem mindig szükséges, mivel használhatod az Express saját beépített módszereit is:

app.use(express.json());

app.use(express.urlencoded({ extended: true }));

vagyis nem kell külön telepíteni. Ezért nézzük meg a verzió számot.

Nincsenek megjegyzések:

Megjegyzés küldése

<<< szintaxis

 A <<< szintaxist a PHP-ban "heredoc" vagy "nowdoc" szintaxisnak nevezzük. Ez nem pontosan olyan, mint a Jav...