Mô tả phần thân
Thuộc phần REST API trong hành trình Node.js của Coddy. Bài học 7 trên 25.
zod là một package đã cài đặt, dùng để kiểm tra giá trị theo mô tả bạn viết. import { z } from 'zod' cung cấp trình tạo schema z. Một mô tả có thể thay thế các bước kiểm tra từng trường được viết lặp đi lặp lại.
Schema mô tả những giá trị mà một yêu cầu được phép chứa. Với zod, z.object liệt kê các trường và đặt quy tắc cho từng trường. z.string() chấp nhận văn bản; z.number() chấp nhận một số.
const Book = z.object({
title: z.string(),
year: z.number(),
});Ở đây, cả hai trường đều bắt buộc. Dòng cuối trong exercise.js kiểm tra đối tượng theo schema của bạn; bài học tiếp theo sẽ giải thích safeParse. Ở bước đầu tiên này, hãy tập trung vào tên và kiểu dữ liệu của các trường. Bước sau sẽ dùng toàn bộ kết quả xác thực để quyết định API nên trả về gì.
Thử thách
DễĐây là một dự án luyện tập nhỏ. Phần thiết lập đã có sẵn, bạn chỉ chỉnh sửa exercise.js.
Điền lược đồ Task bằng một chuỗi title và một giá trị boolean done, dùng z.boolean(). Gửi POST đến /result với {"title":"Read","done":false} sẽ trả về {"valid":true}. Nếu thiếu title hoặc giá trị done là chuỗi, kết quả trả về là {"valid":false}.
Lệnh GET /result ban đầu dùng ví dụ đã cho {"title": "Read", "done": "false"}. Dùng POST /result với phần thân JSON để thử các đầu vào khác.
Lược đồ khởi đầu trống chấp nhận kiểu dữ liệu sai này; lược đồ hoàn chỉnh của bạn phải báo {"valid":false} khi gọi GET ban đầu.
Tự làm thử
import { z } from 'zod';
const Task = z.object({});
export function exercise(body) {
return { valid: Task.safeParse(body).success };
}
Tất cả bài học trong REST API
1Tài nguyên và động từ
Tài nguyên và URLTạo tài nguyên bằng POST4Trình duyệt, phiên bản và cấu hình
Origin là gìCho phép một origin khácCORSTrang gọi API2Xác thực và lỗi
Xác thực đầu vàoTự luyện tập: Playground Express