Expressjs’te Post Request Kullanımı
Bu yazımızda, Expressjs’te POST istekleri ile ilgili bilgileri ve çeşitli kullanım senaryoları için kod örneklerini paylaşmış olacağım.
1. Temel POST İsteği
Expressjs’te POST isteği oluşturmak için, öncelikle Express uygulamasını kurmanız gerekir. Ardından, .post() metodunu kullanarak bir route tanımlayabiliriz.
const express = require('express');
const app = express();
const port = 3000;
app.use(express.json()); // JSON için middleware
app.post('/api/data', (req, res) => {
console.log(req.body); // Gönderilen veriyi konsola yazdır
res.send('POST isteği alındı');
});
app.listen(port, () => {
console.log(`Sunucu ${port} portunda çalışıyor.`);
});
Yukarıdaki örnekte, /api/data yoluna gelen POST istekleri ele alınmaktadır. req.body kullanılarak istek gövdesindeki verileri console’a yazdırmış oluruz.
2. URL Encoded Veri İle Çalışmak
Formlardan gelen veriler genellikle application/x-www-form-urlencoded formatındadır. Buverilerle çalışmak için, Expressjs’in urlencoded middleware’ini kullanmanız gerekmektedir.
app.use(express.urlencoded({ extended: true }));
app.post('/api/formdata', (req, res) => {
console.log(req.body); // Gönderilen form verisini konsola yazdır
res.send('Form verisi alındı');
});
3. Dosya Yüklemeleri
Dosya yükleme işlemleri için multer gibi bir middleware kullanılabilir. multer, multipart/form-data isteklerini işlemek için kullanılır.
const multer = require('multer');
const upload = multer({ dest: 'uploads/' });
app.post('/api/upload', upload.single('dosya'), (req, res) => {
console.log(req.file); // Yüklenen dosya hakkında bilgi
res.send('Dosya yüklendi');
});
4. Hata Yönetimi
Hataları yönetmek için, Expressjs’te middlewareler kullanılabilir. Özel hata yakalama middlewareleri tanımlayarak, uygulamanızda oluşabilecek hatalar için özel işlemler tanımlayabiliriz.
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Bir hata oluştu!');
});
5. Router Kullanımı
Büyük projelerde, rotaları organize etmek için express.Router sınıfından yararlanılabiliriz. Bu, kodun daha modüler ve yönetilebilir olmasını sağlamaktadır.
const router = express.Router();
router.post('/data', (req, res) => {
// İşlemler...
});
app.use('/api', router);
Bu temel bilgiler ve örnekler, Expressjs’te POST istekleri ile çalışmaya başlamanız için size rehber olacaktır. Her proje ve senaryo farklılık gösterebilir.