Menu
CoddyTech

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ì.

challenge icon

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

Tự luyện tập: Playground Express