استخدام البيانات المتحقق منها
جزء من قسم واجهات REST API في رحلة 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() المسافات المحيطة. احفظ البيانات التي تم التحقق منها للاحتفاظ بهذا التغيير. فحفظ body الأصلي سيعيد المسافات غير المرغوب فيها. يحتوي المخطط المقدَّم مسبقًا على قواعده.
تزيل trim() المسافات المحيطة. تشترط min(1) التالية وجود حرف واحد على الأقل، لذا يفشل العنوان الذي يتكون من مسافات فقط.
التحدي
سهلهذا مشروع تدريبي صغير. إعداد المشروع مُتاح؛ عدّل 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 API
1الموارد والأفعال
الموارد وعناوين URLالإنشاء باستخدام POST4المتصفحات والإصدارات والإعدادات
ما هو المصدرالسماح لمصدر آخرCORSصفحة تستدعي API2التحقق والأخطاء
التحقق من المدخلاتتدرّب بنفسك: Playground لـ Express