Menu
CoddyTech

Décrire un corps

Fait partie de la section API REST du Journey Node.js de Coddy. Leçon 7 sur 25.

zod est un package installé qui vérifie les valeurs par rapport à une description que vous écrivez. import { z } from 'zod' fournit son générateur de schémas, z. Une seule description peut remplacer des vérifications de champs répétées écrites à la main.

Un schéma décrit les valeurs qu’une requête est autorisée à contenir. Avec zod, z.object répertorie les champs et attribue une règle à chacun d’eux. z.string() accepte du texte ; z.number() accepte un nombre.

const Book = z.object({
    title: z.string(),
    year: z.number(),
});

Ici, les deux champs sont obligatoires. La dernière ligne de exercise.js vérifie l’objet par rapport à votre schéma ; la leçon suivante explique safeParse. Pour cette première étape, concentrez-vous sur les noms et les types des champs. Une étape ultérieure utilisera le résultat complet de la validation pour décider de ce que l’API doit renvoyer.

challenge icon

Défi

Facile

Il s’agit d’un petit projet d’entraînement. Sa configuration est fournie ; modifie uniquement exercise.js.

Complète le schéma Task avec une chaîne title et un booléen done, en utilisant z.boolean(). Une requête POST vers /result avec {"title":"Read","done":false} renvoie {"valid":true}. Un titre manquant ou une valeur done de type chaîne renvoie {"valid":false}.

La requête initiale GET /result utilise l’exemple fourni {"title": "Read", "done": "false"}. Utilise POST /result avec un corps JSON pour essayer d’autres entrées.

Le schéma de départ vide accepte ce type incorrect ; ton schéma complété doit renvoyer {"valid":false} lors de la requête GET initiale.

Essayez vous-même

import { z } from 'zod';
const Task = z.object({});
export function exercise(body) {
    return { valid: Task.safeParse(body).success };
}

Toutes les leçons de API REST

Entraînez-vous par vous-même : Playground Express