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.
Tantangan
MudahIni 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
1Sumber Daya dan Kata Kerja
Sumber Daya dan URLMembuat dengan POST4Peramban, Versi, dan Konfigurasi
Apa Itu OriginMengizinkan Origin LainCORSHalaman yang Memanggil API2Validasi dan error
Memvalidasi inputLatihan sendiri: Playground Express