0Pricing
TypeScript Academy · Ders

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

  1. Yönlendirici işleyicileri, Request/Response türlerini belirleme
  2. zod ile şema doğrulama ve TS'ye çıkarım
  3. Hata ara yazılımı ve sonuç türleri
← TypeScript Academy Sayfasına Dön