Menu
CoddyTech

Korzystanie ze sprawdzonych danych

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

Schemat może zwrócić sprawdzone dane albo informacje o problemie. safeParse zwraca obiekt, którego pole success informuje, co się wydarzyło. W przypadku powodzenia pole data zawiera sprawdzoną wartość.

const result = Book.safeParse(body);
if (result.success) {
    return result.data;
}
return {error: 'Invalid book'};

Reguły mogą przekształcać wartości, a także je odrzucać. z.string().trim() usuwa otaczające spacje. Zapisz sprawdzone dane, aby zachować tę zmianę. Zapisanie oryginalnego obiektu body przywróciłoby niechciane spacje. Podany schemat ma już swoje reguły.

trim() usuwa otaczające spacje. Następujące po nim min(1) wymaga co najmniej jednego znaku, więc tytuł zawierający wyłącznie spacje nie przejdzie sprawdzania.

challenge icon

Wyzwanie

Łatwy

To niewielki projekt do ćwiczeń. Konfiguracja jest już przygotowana; edytuj tylko exercise.js.

Użyj dostarczonego schematu Task. W razie powodzenia zwróć {"ok":true,"title":...} z tytułem bez początkowych i końcowych białych znaków albo {"ok":false} w razie niepowodzenia. Wysłanie {"title":" Read "} metodą POST na adres /result zwraca {"ok":true,"title":"Read"}. Wartość 42 jako tytuł zwraca {"ok":false}.

Wypróbuj też {"title":" "}: musi zwrócić {"ok":false}.

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

Spróbuj swoich sił

import { z } from 'zod';
const Task = z.object({ title: z.string().trim().min(1) });
export function exercise(body) {
    return { ok: true, title: body.title };
}

Wszystkie lekcje w sekcji API REST

Poćwicz samodzielnie: Edytor online Express