Kurulum
- npm init –yes
- npm i express
Bilinmesi Gerekenler
Her değişiklikte node index.js diye tekrar başlatmamak için nodemon paketini yüklüyoruz. npm i nodemon => node monitor
Environment Variable PORT => Productiona çıktığımız yerde port ataması dinamik olabilir. Bu yüzden aşağıdaki kodla portu gelirleyip öyle listen diyoruz:
process.env.PORT || 3000 => mevcut processdeki environment global değişkeninin içindeki portu görüyoruz.
HTTP Metodları
- app.get()
- app.post()
- app.put()
- app.delete()
Input Validation With Joi
Bu metodları implement ederken belli input validationları yapmamız gerekiyor. Bu doğrulama işlemini Joi paketiyle yapabiliriz. Bu paket validate fonksiyonunu kullanmak için bir json(body) ve bir schema alır. Bunları karşılaştırıp bir json döndürür. Bu dönen json objesinde error set edilmişse oradaki details[0].message kısmından hata mesajına ulaşabiliriz.
var schema = { name = Joi.string().min(3).required()};
Joi.validate(req.body, schema);
Ayrıca aradığımızı bulamadığımız durumda da şu şekilde 404 döndürüp fonksiyonu sonlandırabiliriz : return res.status(404).send(“Could not find “);
Requestle Gelen Body’i Okumak
POST ve PUT requestlerinde gelen body json olarak gelir. Bu body bilgisini okuyup parse edebilmek için bir middleware kullanmamız gerekir. Bu da expressin json fonksiyonuyla olur. Bu yüzden uygulamamızın en üstüne app.use(express.json()) ifadesini ekleriz. Daha sonra gelen body’leri okumak için de req.body.<item> şeklinde bir ifade kullanırız..
Requeste Response Döndürme
Son olarak da gelen isteklere karşı cevap göndermek için res.send(<Data>); fonksiyonunu kullanıyoruz.