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.
Sfida
FacileQuesto è 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
1Risorse e verbi
Risorse e URLCreare con POST4Browser, versioni e configurazione
Che cos'è un'origineConsentire un'altra origineCORSUna pagina che chiama l'API2Validazione ed errori
Convalidare l'inputEsercitati da solo: Playground Express