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ć.
Wyzwanie
ŁatwyTo 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
1Zasoby i czasowniki
Zasoby i URL-eTworzenie za pomocą POST4Przeglądarki, wersje i konfiguracja
Czym jest originZezwalanie na dostęp z innego originCORSStrona wywołująca API2Walidacja i błędy
Walidacja danych wejściowychPoćwicz samodzielnie: Edytor online Express