Express uygulaması
- Node.js kursu
- Orta seviye
- Ders 66/116
- 6 dk
Express uygulamasıyla API iskeletini kurarsın.
Express uygulaması
İkinci ders Express uygulaması kurmak. Express, Node.js için en popüler web çerçevesidir. const express = require("express"); const app = express(); ile bir uygulama oluşturursun.
Rota tanımlamak için app.get(yol, işleyici) kullanırsın. Örneğin app.get("/", (req, res) => res.json({ status: "ok" })) kök yola gelen isteğe JSON yanıt verir. req isteği, res yanıtı temsil eder. res.json() bir nesneyi JSON'a çevirip yanıtı gönderir. Sunucuyu başlatmak için app.listen(port, cb) çağrılır. Bu derste kök rotayı ekleyip API'nin çalıştığını doğrulayacağız.
res.json ile yanıt
res.json(veri) veriyi JSON dizgisine çevirir ve yanıtı gönderir. İçerik türü otomatik application/json olur. Bu, API'lerde en yaygın yanıt yöntemidir.
Örneğin res.json({ status: "ok" }) yanıtı {"status":"ok"} olur. res.send() de kullanılabilir ama JSON için res.json daha uygundur; çünkü içerik türünü ve seri hale getirmeyi otomatik yapar. Bu derste GET / rotası { status: "ok" } döndürecek; böylece API'nin yaşadığını göreceğiz. Sonraki derslerde /books rotasıyla gerçek veri döndüreceğiz.
Uygulama Kök rotayı tanımla
Bir GET "/" rotası tanımla. Rota işleyicisi res.json ile { status: "ok" } nesnesini JSON olarak döndürsün. Self-request bölümü başlangıç kodunda hazır.
Başlangıç kodu
const books = [];
books.push({ id: 1, title: "Node.js" });
const express = require("express");
const app = express();
// GET "/" rotası — { status: "ok" } JSON yanıtı gönder
// buraya yaz
// Self-request (hazır kod)
const server = app.listen(3000, () => {
const http = require("http");
http.get("http://localhost:3000/", (res) => {
let body = "";
res.on("data", (c) => body += c);
res.on("end", () => { console.log(body); server.close(); });
});
});Örnek çözüm
app.get("/", (req, res) => {
res.json({ status: "ok" });
});Beklenen çıktı
{"status":"ok"}
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 GET rotasını tamamla
app.____("/", (req, res) => { res.json({ status: "ok" }); });
app.get("/", (req, res) => { res.json({ status: "ok" }); });
Açıklama: app.get ile GET rotası tanımlanır.
2 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
express |
Web çerçevesi |
app.get |
GET rotası tanımlar |
res.json |
JSON yanıtı gönderir |
app.listen |
Sunucuyu başlatır |
3 Express'te app.get hangi HTTP metodunu karşılar?
app.get("/", handler)- POST
- GET Doğru cevap
- DELETE
- PUT
Açıklama: app.get yalnızca GET isteklerini karşılar.