Descrivere il corpo
Fa parte della sezione API REST del percorso Node.js di Coddy. Lezione 7 di 25.
zod è un pacchetto installato che verifica i valori in base a una descrizione che scrivi. import { z } from 'zod' fornisce il suo costruttore di schemi, z. Una sola descrizione può sostituire i controlli dei campi ripetuti e scritti a mano.
Uno schema descrive i valori che una richiesta può contenere. Con zod, z.object elenca i campi e assegna a ciascuno una regola. z.string() accetta testo; z.number() accetta un numero.
const Book = z.object({
title: z.string(),
year: z.number(),
});Qui entrambi i campi sono obbligatori. L'ultima riga in exercise.js verifica l'oggetto rispetto al tuo schema; la lezione successiva spiega safeParse. Per questo primo passaggio, concentrati sui nomi e sui tipi dei campi. Un passaggio successivo userà il risultato completo della convalida per decidere cosa deve restituire l'API.
Sfida
FacileQuesto è un piccolo progetto di esercitazione. La configurazione è già fornita; modifica solo exercise.js.
Completa lo schema Task con una stringa title e un booleano done, usando z.boolean(). Una richiesta POST a /result con {"title":"Read","done":false} restituisce {"valid":true}. Se manca il titolo o il valore di done è una stringa, viene restituito {"valid":false}.
La richiesta iniziale GET /result usa l'esempio fornito {"title": "Read", "done": "false"}. Usa POST /result con un corpo JSON per provare altri input.
Lo schema iniziale vuoto accetta questo tipo errato; lo schema completato deve restituire {"valid":false} alla richiesta GET iniziale.
Provalo tu
import { z } from 'zod';
const Task = z.object({});
export function exercise(body) {
return { valid: Task.safeParse(body).success };
}
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