Menu
CoddyTech

שימוש בנתונים מאומתים

חלק מהיחידה REST APIs במסלול ה-Node.js של Coddy. שיעור 8 מתוך 25.

סכמה יכולה להחזיר נתונים שנבדקו או מידע על בעיה. safeParse מחזירה אובייקט שהשדה success שלו מציין מה קרה. במקרה של הצלחה, data מכיל את הערך שנבדק.

const result = Book.safeParse(body);
if (result.success) {
    return result.data;
}
return {error: 'Invalid book'};

כללים יכולים לשנות ערכים וגם לדחות אותם. z.string().trim() מסירה רווחים מסביב. שמור את הנתונים שנבדקו כדי לשמר את השינוי הזה. שמירת הגוף המקורי תחזיר את הרווחים הלא רצויים. הסכמה שסופקה כבר כוללת את הכללים שלה.

trim() מסירה רווחים מסביב. min(1) שבא אחריה דורשת לפחות תו אחד, ולכן כותרת שמכילה רווחים בלבד נכשלת בבדיקה.

challenge icon

אתגר

קל

זהו פרויקט תרגול קטן. ההגדרה שלו מסופקת; יש לערוך רק את exercise.js.

השתמשו בסכמת Task שסופקה. במקרה של הצלחה, החזירו {"ok":true,"title":...} עם הכותרת לאחר הסרת הרווחים המיותרים, או {"ok":false} במקרה של כישלון. שליחת POST עם {"title":" Read "} אל /result מחזירה {"ok":true,"title":"Read"}. כותרת שערכה 42 מחזירה {"ok":false}.

נסו גם את {"title":" "}: התוצאה חייבת להיות {"ok":false}.

הבקשה הראשונית GET /result משתמשת בדוגמה שסופקה {"title": " Read "}. השתמשו ב־POST /result עם גוף JSON כדי לנסות קלטים אחרים.

נסו בעצמכם

import { z } from 'zod';
const Task = z.object({ title: z.string().trim().min(1) });
export function exercise(body) {
    return { ok: true, title: body.title };
}

כל השיעורים ביחידה REST APIs

תרגלו בעצמכם: Express אונליין