Javascript ile Web Api Yazmak (Express – Node.js)

Merhaba arkadaşlar,

Bu yazımızda node.js kütüphanesi olan Express ile web api yazacağız.Eğer node.js makinanızda kurulu değilse aşağıdaki buraya tıklayarak kurabilirsiniz

Öncelikle masaüstünde ExpressApi isminde bir klasör oluşturup cmd ile bu satır içerisine girelim ve aşağıdaki kod ile bir proje oluşturalım

npm init

yukarıdaki kurduktan sonra bize proje hakkında bilgiler soracaktır entera basarak hepsini geçebilirsiniz. Aşamaları geçtikten sonra packages.json adında bir dosya göreceksiniz.

Şimdi aşağıdaki komutu cmd ile çalıştırarak expressi kuralım

npm install express --save

node_modüles klasörü altında express in olduğunu görüyorsanız başarıyla kurdunuz demektir.

Şimdi ilk endpointimizi oluşturalım app.js isminde bir dosya oluşturup içerisine aşağıdaki kodları yazalım

var express = require("express") // kurduğumuz express modülünü dahil ediyoruz
var app = express()

app.get('/', function (req, resp) { // get methodumuzu ekliyoruz
    var response = { message:"Merhaba Dünya" } //geriye döndürülecek modelimizi oluşturuyoruz
    resp.json(response); //json formatında döndürüyoruz
})

app.get('/iletisim', function (req, resp) { 
    var response = { message:"iletisim bilgileri" } 
    resp.json(response); 
})


//aşağıdaki kod ile  "http://localhost:1461" üzerinden web apimizi çalıştırıyoruz
//Dipnot: 1461 Trabzonun fethi 
app.listen("1461", () => console.log("localhost çalıştırıldı Port: 1461"))



app.js dosyamızı kaydettikten sonra komut satırından aşağıdaki kodu yazıp web apimizi çalıştıralım ve test edelim

node app.js

Not: üstteki kodu yazdığmız komut penceresini kapatmamamız lazım yoksa proje durur. Eğer herhangi bir değişiklik yaptıysak projeyi durdurup tekrar çalıştırmamız gerekir.

Tarayıcı üzerinden  http:localhost:1461 ve  http:localhost:1461/iletisim yazarak oluşturduğumuz 2 adet endpointimizi test edebiliriz

Şimdi post methodu oluşturalım ama öncesinde request olarak göndereceğimiz parametreleri okumak için body-parser paketini aşağıdaki kod ile kuralım

npm install body-parser --save

paketimizi kurduktan sonra aşağıdaki kodu app = express() kodununun altına yapıştıralım

var bodyParser = require("body-parser")
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

artık post methodumuzu oluşturalım . Get methodumuzun altına aşağıdaki post methodumuzu ekleyelim

app.post('/test', function (req, res) {
    var name = req.body.name;
    var surname = req.body.surname;
    
    var response = { message: "Merhaba " + name +" " +surname }
    res.json(response);
})

daha sonra name ve surname parametleri ile “http://localhost:1461/test” url’ine post isteği yapıp dönen yanıtı görebiliriz

Ek olarak basit bir middleware yazalım

var myFilter = function (req, res, next) {
    console.log("İstek Başladı");
    next() //methodumuz çalıştı
    console.log("istek bitti");
}

app.use(myFilter);

Üstteki kodu “app.use(bodyParser.json())” altına yapıştıralım . Daha sonra get veya post methodlarımıza herhangi bir istek yaptığımızda projemizi çalıştırdığımız komut satırında istek başladı ve istek bitti şeklinde console log’ları görebilirsiniz

Oluşturduğumuz kodların son hali aşağıdaki şekilde olacaktır

var express = require("express") // kurduğumuz express modülünü dahil ediyoruz
var app = express()

var bodyParser = require("body-parser")
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());


var myFilter = function (req, res, next) {
    console.log("İstek Başladı");
    next() //methodumuz çalıştı
    console.log("istek bitti");
}
app.use(myFilter);


app.get('/', function (req, resp) { // get methodumuzu ekliyoruz
    var response = { message:"Merhaba Dünya" } //geriye döndürülecek modelimizi oluşturuyoruz
    resp.json(response); //json formatında döndürüyoruz
})
app.get('/iletisim', function (req, resp) { 
    var response = { message:"iletisim bilgileri" } 
    resp.json(response); 
})

app.post('/test', function (req, res) {
    var name = req.body.name;
    var surname = req.body.surname;
    
    var response = { message: "Merhaba " + name +" " +surname }
    res.json(response);
})

//aşağıdaki kod ile  "http://localhost:1461" üzerinden web apimizi çalıştırıyoruz
//Dipnot: 1461 Trabzonun fethi 
app.listen("1461", () => console.log("localhost çalıştırıldı Port: 1461"))

 

Gördüğünüz gibi çok çabuk bir şekilde bir web api oluşturabiliyoruz. İlerleyen günlerde daha detaylı inceleme ve mongodb kullanmayı anlatacağım.

 

 

 

 

 

Bir cevap yazın