Menu
CoddyTech

Describir un cuerpo

Parte de la sección API REST del Journey de Node.js de Coddy. Lección 7 de 25.

zod es un paquete instalado que comprueba los valores según una descripción que escribes. import { z } from 'zod' proporciona su creador de esquemas, z. Una descripción puede reemplazar las comprobaciones de campos repetidas escritas a mano.

Un esquema describe los valores que se permite que contenga una solicitud. Con zod, z.object enumera los campos y asigna una regla a cada uno. z.string() acepta texto; z.number() acepta un número.

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

En este caso, ambos campos son obligatorios. La última línea de exercise.js comprueba el objeto según tu esquema; en la siguiente lección se explica safeParse. Para este primer paso, céntrate en los nombres y tipos de los campos. En un paso posterior, se usará el resultado completo de la validación para decidir qué debe devolver la API.

challenge icon

Desafío

Fácil

Este es un pequeño proyecto de práctica. La configuración ya está hecha; edita solo exercise.js.

Completa el esquema Task con una cadena title y un booleano done, usando z.boolean(). Enviar POST a /result con {"title":"Read","done":false} devuelve {"valid":true}. Si falta el título o el valor de done es una cadena, devuelve {"valid":false}.

La solicitud inicial GET /result usa el ejemplo proporcionado {"title": "Read", "done": "false"}. Usa POST /result con un cuerpo JSON para probar otras entradas.

El esquema inicial vacío acepta este tipo incorrecto; el esquema completo debe indicar {"valid":false} en la solicitud GET inicial.

Pruébalo tú mismo

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

Todas las lecciones de API REST

Practica por tu cuenta: Playground de Express