Menu
CoddyTech

Usare i dati convalidati

Fa parte della sezione API REST del percorso Node.js di Coddy. Lezione 8 di 25.

Uno schema può restituire dati verificati oppure informazioni su un problema. safeParse restituisce un oggetto il cui campo success ti indica quale dei due casi si è verificato. In caso di successo, data contiene il valore verificato.

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

Le regole possono trasformare i valori oltre che rifiutarli. z.string().trim() rimuove gli spazi iniziali e finali. Salva i dati verificati per mantenere questa modifica. Salvando il corpo originale, gli spazi indesiderati verrebbero ripristinati. Lo schema fornito ha già le sue regole.

trim() rimuove gli spazi iniziali e finali. Il successivo min(1) richiede almeno un carattere, quindi un titolo che contiene solo spazi non supera la verifica.

challenge icon

Sfida

Facile

Questo è un piccolo progetto di esercitazione. La configurazione è già fornita; modifica solo exercise.js.

Usa lo schema Task fornito. Restituisci {"ok":true,"title":...} se l'operazione riesce, con il titolo senza spazi iniziali o finali, oppure {"ok":false} in caso di errore. Invia POST {"title":" Read "} a /result per ottenere {"ok":true,"title":"Read"}. Un titolo con valore 42 restituisce {"ok":false}.

Prova anche {"title":" "}: deve restituire {"ok":false}.

La GET /result iniziale usa l'esempio fornito {"title": " Read "}. Usa POST /result con un corpo JSON per provare altri input.

Provalo tu

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

Tutte le lezioni di API REST

Esercitati da solo: Playground Express