Menu
CoddyTech

Mendeskripsikan body

Termasuk bagian REST API dalam perjalanan Node.js di Coddy. Pelajaran 7 dari 25.

zod adalah package terpasang yang memeriksa nilai berdasarkan deskripsi yang kamu tulis. import { z } from 'zod' menyediakan pembuat skemanya, z. Satu deskripsi dapat menggantikan pemeriksaan field berulang yang ditulis secara manual.

Skema menjelaskan nilai yang boleh dimuat dalam sebuah request. Dengan zod, z.object mencantumkan field dan memberikan aturan untuk setiap field. z.string() menerima teks; z.number() menerima angka.

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

Kedua field wajib diisi di sini. Baris terakhir dalam exercise.js memeriksa objek berdasarkan skemamu; pelajaran berikutnya menjelaskan safeParse. Untuk langkah pertama ini, fokuslah pada nama field dan tipe datanya. Langkah berikutnya akan menggunakan hasil validasi lengkap untuk menentukan output yang seharusnya diberikan API.

challenge icon

Tantangan

Mudah

Ini adalah proyek latihan kecil. Penyiapannya sudah disediakan. Edit hanya exercise.js.

Lengkapi skema Task dengan string title dan boolean done, menggunakan z.boolean(). POST /result dengan {"title":"Read","done":false} akan mengembalikan {"valid":true}. Jika title tidak ada atau nilai done berupa string, hasilnya adalah {"valid":false}.

GET /result awal menggunakan contoh yang disediakan {"title": "Read", "done": "false"}. Gunakan POST /result dengan body JSON untuk mencoba input lainnya.

Skema awal yang kosong menerima tipe yang salah ini. Skema yang sudah kamu lengkapi harus melaporkan {"valid":false} pada GET awal.

Coba sendiri

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

Semua pelajaran di REST API

Latihan sendiri: Playground Express