Menu
CoddyTech

Bir Gövdeyi Tanımlama

Coddy'nin Node.js Journey'sinin REST API'leri bölümünün bir parçası. Ders 7 / 25.

zod, yazdığın bir açıklamaya göre değerleri denetleyen kurulu bir pakettir. import { z } from 'zod', şema oluşturucusu olan z'yi sağlar. Tek bir açıklama, elle yazılmış tekrarlanan alan denetimlerinin yerini alabilir.

Bir şema, bir isteğin içerebileceği değerleri açıklar. zod ile z.object alanları listeler ve her birine bir kural verir. z.string() metni kabul eder; z.number() ise bir sayıyı kabul eder.

const Book = z.object({
    title: z.string(),
    year: z.number(),
});

Burada her iki alan da zorunludur. exercise.js dosyasındaki son satır, nesneyi şemanla karşılaştırıp denetler; sonraki ders safeParse'ı açıklar. Bu ilk adımda alan adlarına ve türlere odaklan. Daha sonraki bir adımda API'nin ne döndürmesi gerektiğine karar vermek için doğrulamanın tam sonucu kullanılacak.

challenge icon

Görev

Kolay

Bu küçük bir alıştırma projesidir. Kurulumu sağlanmıştır; yalnızca exercise.js dosyasını düzenle.

title için bir string ve done için bir boolean içeren Task şemasını z.boolean() kullanarak doldur. POST isteğiyle /result adresine {"title":"Read","done":false} gönderildiğinde {"valid":true} döner. title eksikse veya done değeri bir string ise {"valid":false} döner.

Başlangıçtaki GET /result, sağlanan örneği kullanır: {"title": "Read", "done": "false"}. Başka girdileri denemek için JSON gövdesiyle POST /result adresine istek gönder.

Boş başlangıç şeması bu yanlış türdeki değeri kabul eder; tamamladığın şema, başlangıçtaki GET isteğinde {"valid":false} döndürmelidir.

Kendin dene

import { z } from 'zod';
const Task = z.object({});
export function exercise(body) {
    return { valid: Task.safeParse(body).success };
}

REST API'leri bölümündeki tüm dersler

Kendi başına pratik yap: Express playground