Node.js ile POST İsteği Gönderme ve İşleme

Blog Gönderisi Resmi

Hizmetlerimiz hakkında bilgi almak için tıklayın.

Node.js, sunucu tarafı işlemleri gerçekleştirmek için güçlü bir platformdur. Bu platformu kullanarak, web istemcilerinden gelen POST isteklerini işleyebilirsiniz. Bu makalede, Node.js kullanarak POST isteği gönderme ve alınan veriyi işleme adımlarını öğreneceğiz.

POST İsteği Nedir?


POST isteği, bir web istemcisinden sunucuya veri göndermek için kullanılan HTTP yöntemlerinden biridir. POST isteği, genellikle form verileri, dosyalar veya JSON gibi verileri sunucuya iletmek için kullanılır. Sunucu, bu verileri alır, işler ve sonuçları geri gönderebilir.

Node.js ile POST İsteği Gönderme

Node.js ile POST isteği göndermek için http veya axios gibi modülleri kullanabiliriz. İşte axios kullanarak basit bir POST isteği gönderme örneği:

Adım 1:

İlk adım olarak, projenizin kök dizininde bir terminal veya komut istemcisini açın ve axios modülünü yükleyin (eğer daha önce yüklemediyseniz):


npm install axios

Adım 2:

Şimdi, POST isteğini göndermek istediğiniz hedef URL'yi ve göndermek istediğiniz veriyi belirtin. Örneğin:


const axios = require('axios');

const hedefURL = 'https://example.com/api';
const postData = {
    kullaniciAdi: 'ornekKullanici',
    sifre: 'gizliSifre'
};

axios.post(hedefURL, postData)
    .then((response) => {
        console.log('POST İsteği Başarılı:', response.data);
    })
    .catch((error) => {
        console.error('POST İsteği Hatası:', error);
    });

Bu örnekte, axios ile hedef URL'ye postData verisini POST isteği gönderiyoruz. Sonuçlar konsola yazdırılıyor.

Node.js ile POST İsteği İşleme


Node.js sunucusu üzerinde POST isteği almak için Express gibi bir web çerçevesi kullanabilirsiniz. İşte basit bir Express uygulaması ile POST isteği işleme örneği:

Adım 1:

İlk olarak, projenizde Express modülünü yükleyin (eğer daha önce yüklemediyseniz):


npm install express

Adım 2:

Ardından, aşağıdaki kodu içeren bir server.js dosyası oluşturun:


const express = require('express');
const app = express();
const port = 3000;

// JSON veri analizi için gerekli middleware
app.use(express.json());

// POST isteği işleme
app.post('/api', (req, res) => {
    const postData = req.body;
    console.log('POST İsteği Alındı:', postData);
    res.json({ message: 'POST İsteği Başarılı' });
});

app.listen(port, () => {
    console.log(`Sunucu ${port} portunda çalışıyor.`);
});

Bu kod, Express kullanarak POST isteği işlemek için bir sunucu oluşturur. Gelen POST verisini analiz eder ve sonuç olarak bir yanıt gönderir.

Node.JS POST İsteğiyle Veritabanına İşleme


POST isteği ile gelen verileri bir veritabanına yazmak için Node.js kullanarak örnek bir uygulama oluşturacağız. Aşağıda, Express ve MongoDB kullanarak bir veritabanına veri ekleme işlemini gösteren bir örnek bulunmaktadır:

Node.JS MongoDB ile Veritabanı İşleme

Adım 1:

İlk olarak, projenize MongoDB bağlantısı kurmanız gerekecektir. MongoDB'yi projenize eklemek için mongoose gibi bir modülü kullanabilirsiniz:


npm install mongoose

Adım 2:

Şimdi, bir MongoDB veritabanı bağlantısı oluşturun ve bir şema (schema) tanımlayın. Örneğin, bir kullanıcı koleksiyonu için aşağıdaki gibi bir şema oluşturabilirsiniz:


const mongoose = require('mongoose');

// MongoDB bağlantısı oluşturma
mongoose.connect('mongodb://localhost/mydb', { useNewUrlParser: true, useUnifiedTopology: true });

// Kullanıcı şeması
const userSchema = new mongoose.Schema({
    kullaniciAdi: String,
    sifre: String
});

// Kullanıcı modeli
const User = mongoose.model('User', userSchema);

module.exports = User;

Adım 3:

Şimdi, Express uygulamanızda POST isteği işlemine devam edelim ve gelen verileri MongoDB'ye kaydedelim:


const express = require('express');
const app = express();
const port = 3000;
const User = require('./user'); // Önceki adımda oluşturduğumuz kullanıcı modeli

// JSON veri analizi için gerekli middleware
app.use(express.json());

// POST isteği işleme
app.post('/api', (req, res) => {
    const postData = req.body;

    // Yeni bir kullanıcı oluştur ve MongoDB'ye kaydet
    const newUser = new User({
        kullaniciAdi: postData.kullaniciAdi,
        sifre: postData.sifre
    });

    newUser.save((err, savedUser) => {
        if (err) {
            console.error('Veritabanına kaydetme hatası:', err);
            res.status(500).json({ message: 'Veritabanına kaydetme hatası' });
        } else {
            console.log('Veritabanına başarıyla kaydedildi:', savedUser);
            res.json({ message: 'Veritabanına başarıyla kaydedildi' });
        }
    });
});

app.listen(port, () => {
    console.log(`Sunucu ${port} portunda çalışıyor.`);
});

Bu kod, POST isteği aldığında gelen veriyi newUser adlı bir MongoDB belgesine dönüştürür ve MongoDB'ye kaydeder. Hata durumunda bir hata yanıtı gönderilirken, başarılı bir kayıt durumunda başarılı bir yanıt gönderilir.

Node.JS MySQL ile Veritabanı İşleme

Şimdi Express ve MySQL kullanarak bir MySQL veritabanına veri eklemeyi gösteren bir örnek hazırlayacağız:

Adım 1:

İlk olarak, projenize MySQL bağlantısı kurmanız gerekecektir. MySQL'i projenize eklemek için mysql2 veya sequelize gibi bir modülü kullanabilirsiniz. Bu örnekte mysql2 modülünü kullanacağız:


npm install mysql2

Adım 2:

MySQL veritabanına bağlanmak için gerekli bilgileri içeren bir konfigürasyon dosyası oluşturun:


// dbConfig.js
module.exports = {
    host: 'localhost',
    user: 'root',
    password: 'password',
    database: 'mydb'
};

Bu dosyada, MySQL veritabanına bağlanmak için kullanılacak bilgileri belirtiyoruz.

Adım 3:

Şimdi, Express uygulamanızda POST isteği işlemine devam edelim ve gelen verileri MySQL veritabanına kaydedelim:


const express = require('express');
const app = express();
const port = 3000;
const mysql = require('mysql2');
const dbConfig = require('./dbConfig');

// JSON veri analizi için gerekli middleware
app.use(express.json());

// MySQL bağlantısı oluşturma
const connection = mysql.createConnection(dbConfig);

// MySQL bağlantısını başlatma
connection.connect((err) => {
    if (err) {
        console.error('MySQL bağlantı hatası:', err);
        throw err;
    }
    console.log('MySQL bağlantısı başarıyla kuruldu.');
});

// POST isteği işleme
app.post('/api', (req, res) => {
    const postData = req.body;

    // MySQL veritabanına veri ekleme sorgusu
    const sql = 'INSERT INTO kullanici (kullaniciAdi, sifre) VALUES (?, ?)';
    const values = [postData.kullaniciAdi, postData.sifre];

    connection.query(sql, values, (err, result) => {
        if (err) {
            console.error('Veritabanına ekleme hatası:', err);
            res.status(500).json({ message: 'Veritabanına ekleme hatası' });
        } else {
            console.log('Veritabanına başarıyla eklendi:', result);
            res.json({ message: 'Veritabanına başarıyla eklendi' });
        }
    });
});

app.listen(port, () => {
    console.log(`Sunucu ${port} portunda çalışıyor.`);
});

Bu kod, POST isteği aldığında gelen veriyi MySQL veritabanına ekler. Hata durumunda bir hata yanıtı gönderilirken, başarılı bir eklemede başarılı bir yanıt gönderilir.

Bu örnek, Node.js, Express ve MySQL kullanarak POST isteği ile veritabanına veri eklemenin temel bir anlayışını sunar. Bu temel bilgileri kullanarak uygulamanızı daha da geliştirebilir ve veritabanınıza farklı türlerde veri ekleyebilirsiniz.

Sonuç:


Artık Node.js ile POST isteği gönderme ve işleme konusunda temel bilgilere sahipsiniz. Bu temel bilgileri kullanarak daha karmaşık projeler geliştirebilir ve web uygulamalarınızda veri iletişimini yönetebilirsiniz.

Bir sonraki yazılarımızda, bu oluşturduğumuz örneklere istek göndermeyi ve sunucudan yanıt almayı işleyeceğiz.

Sizin İçin Önerdiklerimiz

Blog Resim
JavaScript Öğrenmeye Nerden Başlamalıyım?

JavaScript

Günümüzün en popüler programlama dillerinden biri olan JavaScript, web uygulamaları, tarayıcı oyunları, mobil uygulamalar ve hatta sunucu taraflı..

Devamını Oku
Blog Resim
JavaScript Array Dizi Metodları 1: Kullanımı ve Örnekler

JavaScript

JavaScript, programcılara zengin veri koleksiyonları oluşturma ve işleme yeteneği sunar. Bu koleksiyonlardan en yaygın kullanılanı, çeşitli verileri saklamak ve işlemek için kullanılan array (dizi) veri yapısıdır.

Devamını Oku
Blog Resim
Node.JS ile Kullanıcı Kayıt ve Giriş İşlemleri

JavaScript

Bugünkü konumuzda Node.JS ile kullanıcı kayıt olma ve giriş yapma endpointlerini göstereceğiz, öncelikle dikkat etmeniz gereken konulardan bir tanesi sunucunuzun Node.JS destekleyip desteklemediğidir.

Devamını Oku
Blog Resim
Node.js Sunucularında HTTP Durum Kodlarının Önemi

JavaScript

Web geliştirmede, sunucunun bir isteğe nasıl yanıt verdiğini belirten HTTP (Hypertext Transfer Protocol) durum kodları kritik bir role sahiptir. Node.js, popüler bir JavaScript çalışma zamanı ortamı olup, bu durum kodlarını yönetmekte etkin araçlar sunar.

Devamını Oku