Yönlendirici işleyicileri, Request/Response türlerini belirleme
Express rota işleyicilerinin parametre, sorgu ve JSON gövdesi türlerini belirleyin; res.json ve yeniden kullanılabilir DTO'larla türleri belirlenmiş yanıtlar gönderin.
Yönlendirici işleyicileri, Request/Response türlerini belirleme, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 3 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 3 dersten oluşur.
Giriş
Hedef: Küçük bir Express API'sini katı türlerle bağlayın. Rota parametrelerinin, sorguların ve JSON gövdelerinin türlerini belirleyin, ardından res.json ile türü belirlenmiş JSON döndürün.
- DTO arayüzleri
Request<P, Res, Body, Q>- Türü belirlenmiş
res.json
Sunucu kurulumu
Express'i başlatın ve JSON ayrıştırmayı etkinleştirin. Sağlık uç noktasını Request/Response ile küçük ve türü belirlenmiş tutun.
import express, { Request, Response } from "express"
const app = express()
app.use(express.json())
app.get("/", (_req: Request, res: Response) => {
res.type("text/plain").send("OK")
})
app.listen(3000, () => console.log("http://localhost:3000"))Parametreler ve sorgu
Her yuvanın türünü açıkça belirleyin: Parametreler, Sorgu ve ResBody. Otomatik tamamlama, yazım hatalarından kaçınmanıza yardımcı olur.
import { Request, Response } from "express"
type Params = { id: string }
type Query = { verbose?: "1" | "0" }
type ResBody = { id: string; name: string; details?: string }
export function getUser(req: Request<Params, ResBody, unknown, Query>, res: Response<ResBody>) {
const { id } = req.params
const { verbose } = req.query
const body: ResBody = { id, name: "Ada", details: verbose === "1" ? "Loves math" : undefined }
return res.status(200).json(body)
}Türü belirlenmiş gövde ve yanıt
POST/PUT için body türüne, ayrıca türü belirlenmiş bir yanıta ek açıklama verin. DTO'larınız aynı zamanda belge görevi görür.
import { Request, Response } from "express"
type CreateUserBody = { name: string }
type CreateUserRes = { id: string; name: string }
export function createUser(req: Request<{}, CreateUserRes, CreateUserBody>, res: Response<CreateUserRes>) {
const { name } = req.body
const result: CreateUserRes = { id: "u_1", name }
return res.status(201).json(result)
}Rotaları bağlama
Küçük ve türleri belirlenmiş işleyicileri birleştirin. Rota parametreleri, şablonla eşleştirilerek doğrulanır (örneğin, :id).
import express from "express"
import { getUser } from "./getUser"
import { createUser } from "./createUser"
const app = express()
app.use(express.json())
app.get("/users/:id", getUser)
app.post("/users", createUser)
app.listen(3000, () => console.log("http://localhost:3000"))İpuçları
İpuçları:
- DTO'ları küçük tutun ve işleyiciler arasında yeniden kullanın.
- Kısıtlanmış sorgu değerleri için birleşim sabitlerini tercih edin.
- Kesin durum kodları ve türleri belirlenmiş JSON döndürün.
Express türleri kontrolü
Hızlı kontrol: Parametreleri ve JSON gövdesi olan bir Express işleyicisinin türünü nasıl belirlersiniz?
Özet
Özet: Rota parametrelerinin, sorguların, gövdelerin ve yanıtların türlerini belirlediniz. Aynı desen yönlendiricilere ve ara yazılımlara da uygulanabilir.
Sıkça Sorulan Sorular
“Yönlendirici işleyicileri, Request/Response türlerini belirleme” dersi ücretsiz mi?
Evet — “Yönlendirici işleyicileri, Request/Response türlerini belirleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 3 dersten oluşur.
“Yönlendirici işleyicileri, Request/Response türlerini belirleme” dersinde ne öğreneceğim?
Express rota işleyicilerinin parametre, sorgu ve JSON gövdesi türlerini belirleyin; res.json ve yeniden kullanılabilir DTO'larla türleri belirlenmiş yanıtlar gönderin. TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 1. dersidir.
“Yönlendirici işleyicileri, Request/Response türlerini belirleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Yönlendirici işleyicileri, Request/Response türlerini belirleme
- zod ile şema doğrulama ve TS'ye çıkarım
- Hata ara yazılımı ve sonuç türleri