Menu
CoddyTech

Opisywanie treści żądania

Część sekcji API REST ścieżki Node.js w Coddy. Lekcja 7 z 25.

zod to zainstalowany pakiet, który sprawdza wartości zgodnie z opisem, który tworzysz. import { z } from 'zod' udostępnia jego konstruktor schematów, z. Jeden opis może zastąpić powtarzające się ręcznie napisane sprawdzenia pól.

Schemat opisuje wartości, które może zawierać żądanie. W zod z.object wymienia pola i przypisuje każdemu z nich regułę. z.string() akceptuje tekst; z.number() akceptuje liczbę.

const Book = z.object({
    title: z.string(),
    year: z.number(),
});

Oba pola są tutaj wymagane. Ostatnia linia w exercise.js sprawdza obiekt zgodnie ze schematem; w następnej lekcji omówimy safeParse. Na tym pierwszym etapie skup się na nazwach i typach pól. W późniejszym kroku pełny wynik walidacji posłuży do określenia, co API powinno zwrócić.

challenge icon

Wyzwanie

Łatwy

To niewielki projekt ćwiczeniowy. Konfiguracja jest już przygotowana; edytuj tylko exercise.js.

Uzupełnij schemat Task o ciąg znaków title i wartość logiczną done, używając z.boolean(). Żądanie POST do /result z treścią {"title":"Read","done":false} zwraca {"valid":true}. Brak tytułu lub tekstowa wartość done zwraca {"valid":false}.

Początkowe żądanie GET /result używa podanego przykładu {"title": "Read", "done": "false"}. Użyj POST /result z treścią w formacie JSON, aby wypróbować inne dane wejściowe.

Początkowy pusty schemat akceptuje ten nieprawidłowy typ; ukończony schemat musi zwrócić {"valid":false} przy początkowym żądaniu GET.

Spróbuj swoich sił

import { z } from 'zod';
const Task = z.object({});
export function exercise(body) {
    return { valid: Task.safeParse(body).success };
}

Wszystkie lekcje w sekcji API REST

Poćwicz samodzielnie: Edytor online Express