Node.js’de Body-Parser Modülü İle Post Edilen Datayı Yakalamak

Merhaba,

Takip eden okuyucularım bilir ki, şu ana kadar Node.js’de sadece get işlemleri gerçekleştirdiğimiz çalışmalarla makaleleri örneklendirmiş bulunmaktayız. Dolayısıyla bu içeriğimizde kullanıcılar tarafından post edilen datanın Body-Parser modülü ile nasıl yakalandığını inceleyecek ve pratik olarak konuyu ele alacağız.

İlk olarak Body-Parser modülünü projemize entegre ederek başlamalıyız. Tabi öncelikle bu modülün ne olduğundan bahsetmekte fayda var. Body-Parser modülü; gönderilen post datasını obje olarak yakalamamızı sağlayan bir modüldür. Aslında kullanıcı tarafından ilgili datayı bize gönderme görevini icra etmekle yükümlü desek daha doğru ifade etmiş oluruz.

İlgili modülü projeye entegre etmek için;

npm install body-parser --save

komutunu çalıştırmanız yeterlidir.

Ardından projenin ana modülü olan “app.js” dosyasında Body-Parser modülünü require ederek aşağıdaki gibi gerekli çalışmaları gerçekleştirmemiz gerekmektedir.

const express = require("express");
const app = express();
const bodyParser = require("body-parser");

require("./db/db")();

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

const employeeRouter = require("./routers/employeeRouter");
app.use("/employee", employeeRouter);

app.listen(5000, () => console.log("Yayın başladı."));

Burada yapılan ayarları izah edersek eğer;

  • app.use(bodyParser.json())
    JSON veri tipinde gelecek olan dataların kullanılabilmesi için bu tanımlamanın yapılması gerekmektedir.
  • app.use(bodyParser.urlencoded({ extended: true }))
    Encode(kodlanmış/şifrelenmiş) edilmiş urller üzerinde Body-Parser’ı kullanmak istiyorsanız eğer “extended” özelliğine true değerini vermeniz yeterlidir.

Ana modülde(app.js) Body-Parser modülü ile gerekli bu ayarlamaları yaptıktan sonra route rotasında aşağıdaki çalışma gerçekleştirilebilir.

const express = require("express");
const router = express.Router();

router.post("/postEmployee", (request, response, next) => {
    const { name, surName } = request.body;
    response.send(`Name : ${name} - Surname : ${surName}`);
});

module.exports = router;

Route yapılanmasında gördüğünüz üzere “post” fonksiyonu tetiklendiği anda “request” parametresinin “body” özelliği bize post edilen datayı json olan getirecektir. Biz Destructuring yöntemi ile ilgili data içerisindeki alanları “name” ve “surName” alanlarına atamış bulunmaktayız.

Dolayısıyla Postman uygulamasıyla ilgili adrese post talebinde bulunursak eğer;
Node.js'de Body-Parser Modülü İle Post Edilen Datayı Yakalamak
ekran alıntısında da görüldüğü üzere alanlara girilen değerler elde edilebilmektedir.

Bu noktadan itibaren post neticesinde yakalanan bu datayı ister veritabanına ekleyebilirsiniz, ister mail gönderebilirsiniz isterseniz de farklı algoritmik işlemlerde kullanabilirsiniz. Yani bundan sonrası size kalmış 🙂

İlgilenenlerin faydalanması dileğiyle…

Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

1 Cevap

  1. 16 Eylül 2018

    […] alınacak bilgileri elde edebilmek için Body-Parser ve MongoDB veritabanı işlemlerini gerçekleştirebilmek için Mongoose modüllerini install […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Copy Protected by Chetan's WP-Copyprotect.