Node.js
CRUD rotaları
CRUD (Create, Read, Update, Delete) rotalarını yazarsın.
CRUD rotaları
Üçüncü ders CRUD rotaları: Create (oluştur), Read (oku), Update (güncelle), Delete (sil). Biz şimdilik Read ve Create'i yapacağız. Read için app.get("/books", ...), Create için app.post("/books", ...) kullanırsın.
GET rotası res.json(books) ile tüm kitapları döndürür. POST rotası req.body'den yeni kitabı alır, books.push() ile ekler ve res.status(201).json(req.body) ile oluşturuldu koduyla geri verir. 201 “Oluşturuldu” anlamına gelir. app.use(express.json()) ise gelen JSON gövdelerini otomatik ayrıştırır; bunu başlangıç koduna ekledik. Böylece API artık veri okuyup yazabilir.
POST ile veri ekleme
POST rotası yeni veri eklemek için kullanılır. app.post("/books", (req, res) => { ... }) ile tanımlanır. Gövdeden gelen veri req.body'de bulunur.
Önce app.use(express.json()) çağrılmış olmalı; aksi halde req.body undefined kalır. Bu middleware, JSON gövdesini otomatik ayrıştırır. Ardından books.push(req.body) ile yeni kitabı dizine eklersin. res.status(201) ile “Oluşturuldu” durum kodunu verirsin; bu, REST API'lerde yaratma işlemleri için standarttır. Son olarak .json(req.body) ile eklenen kitabı yanıtta döndürürsün. Böylece istemci, verinin eklendiğini doğrular.
Uygulama GET ve POST /books rotalarını tanımla
İki rota tanımla. app.get("/books", ...) ile books dizisini res.json ile döndür. app.post("/books", ...) ile req.body'den kitap ekle ve res.status(201).json(...) ile yanıt ver. Self-request hazır.
Örnek çözümü göster
app.get("/books", (req, res) => {
res.json(books);
});
app.post("/books", (req, res) => {
books.push(req.body);
res.status(201).json(req.body);
});
Kendini test et
-
Parçayı rolüne eşle
- app.get
- Veri okur
- app.post
- Veri yazar
- req.body
- Gelen gövde
- res.status(201)
- Oluşturuldu kodu
-
POST /books rotasında yeni kitap nereden okunur?
app.post("/books", (req, res) => ...)
- req.params
- req.query
- req.body
- req.url
Cevabı göster
req.body — Gövde verisi express.json() ile req.body'ye ayrıştırılır.
-
POST rotasını tamamla
app.____("/books", (req, res) => { books.push(req.body); res.status(201).json(req.body); });
Cevabı göster
app.post("/books", (req, res) => { books.push(req.body); res.status(201).json(req.body); });
Sıradaki ders: Middleware