Menu
CoddyTech

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.

challenge icon

Sfida

Facile

Questo è 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

Esercitati da solo: Playground Express