תיאור גוף הבקשה
חלק מהיחידה REST APIs במסלול ה-Node.js של Coddy. שיעור 7 מתוך 25.
zod היא חבילה מותקנת שבודקת ערכים מול תיאור שאתה כותב. import { z } from 'zod' מספקת את בונה הסכימות שלה, z. תיאור אחד יכול להחליף בדיקות שדות חוזרות שנכתבות ידנית.
סכימה מתארת אילו ערכים בקשה רשאית להכיל. עם zod, z.object מציינת את השדות ומגדירה כלל לכל אחד מהם. z.string() מקבלת טקסט; z.number() מקבלת מספר.
const Book = z.object({
title: z.string(),
year: z.number(),
});כאן שני השדות הם שדות חובה. השורה האחרונה בקובץ exercise.js בודקת את האובייקט מול הסכימה שלך; בשיעור הבא מוסבר safeParse. בשלב הראשון הזה, התמקד בשמות השדות ובסוגים. בשלב מאוחר יותר נעשה שימוש בתוצאת האימות המלאה כדי להחליט מה ה-API אמור להחזיר.
אתגר
קלזהו פרויקט תרגול קטן. ההגדרה שלו כבר מוכנה; ערכו רק את exercise.js.
השלימו את הסכימה Task כך שתכלול מחרוזת title וערך בוליאני done, באמצעות z.boolean(). שליחת POST אל /result עם {"title":"Read","done":false} מחזירה {"valid":true}. אם חסר title או שהערך של done הוא מחרוזת, מוחזר {"valid":false}.
הבקשה הראשונית GET /result משתמשת בדוגמה שסופקה: {"title": "Read", "done": "false"}. השתמשו ב-POST /result עם גוף JSON כדי לנסות קלטים אחרים.
סכימת הפתיחה הריקה מקבלת את הסוג השגוי הזה; הסכימה שתשלימו חייבת להחזיר {"valid":false} בבקשת GET הראשונית.
נסו בעצמכם
import { z } from 'zod';
const Task = z.object({});
export function exercise(body) {
return { valid: Task.safeParse(body).success };
}
כל השיעורים ביחידה REST APIs
תרגלו בעצמכם: Express אונליין