EXPRESS.JS

npm install express ile modülü kurabiliriz.

var express = require('express');
var app= express();

app.get('/index',function(req,res)
{
    res.send('index ekranı');
})
app.get('/login',function(req,res){
    res.send('login ekranı');
})

app.listen(3000);
/*
function(req,res) callback fonksiyonudur. Bu fonksiyon kullanıcı
her istediğinde çalışacak 2 parametre barındırmaktadır.
Birinci parametre kullanıcının istek datalarını içeren req(request)
diğeri ise kullanıcıya dönülecek cevap içeren res (response) parametresidir.
*/
app.post('/save',function(req,res)
{
    res.send('kayıt tamamlandı');
})

app.get('/merhaba',function(req,res){
    res.send('merhaba'+req.query.name);
})
/*
Bu örnekte routing için kullandığımız app.get metodu get request durumunda
handlerı tetiklemekteyken, app.post metodu post request için kullanılabilir.
 */

app.all('/user',function(req,res,next){
    console.log('merhaba all metodu');
})
app.get('/user',function(req,res){
    res.send('user get metodu');
})

app.post('/user',function(req,res){
    res.send('merhaba post metodu');
})
/*Burada app.all metoduyla bir /user url istek yaptığımızda önce all metodu
çalışarak merhaba all metodu çıktısı verecek sonra next metodu ile sonraki event
handlera yani app.get('/user',fn) giriş yapacaktır. Burada aslında farklı bir yapıvar 
Bir metot requesti yakalıyor bir işlem yapıyor ve sonraki metoda bu requesti geri
iletiyor. Aslında bir işleve sahip bir katman olarak görev yaptık. Bu yapıyı Middleware
olarak inceleyeceğiz.*/
/*EXPRESS ROUTING */

/*routing, ismindende belli olduğu gibi client tarafından gelen isteklere ve uygulamanın
akışına göre cevaplara karar vermesidir.
Express framework, http metodlarının birçoğunu destekler. get,post,put,delete gibi sık
kullanılanların yanında mkcol,move,purge metotları gibi. 
Öncelikle express instance'ını nasıl oluşturuyoruz. Instance'ımızı point eden bir nesneye
ihtiyacımız var. 
var app=express(); sonrasında app nesnesine tanımlayacağımız metodlar ile clientın girdiği
URL'lere cevap vereceğiz.*/

app.get('/',function(req,res){
    res.send('anasayfa');
})
app.post('/',function(req,res){
    res.send('kayıt gerçekleşti');
})
app.put('/',function(req,res){
    res.send('kayıt güncelendi');
})
/*res.send dışında sık kullanılan diğer dönüş metotları */

/*res.send(): metot içerisine eklediğimiz nesnenin tipine göre otomatik olarak content type
set ederek döner.
res.end(): cevap dönerek req,res stackini sonlandırır.
res.json(): json cevabı döner.
res.render(): view template cevabı döner
res.redirect(): uygulama içerisinde redirect işlemleri yapar.
res.download(): indirilebilecek dosya sunar.
res.sendStatus(): status kodu döner. */