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.