Menu
CoddyTech

Описание тела

Часть раздела REST API путешествия по Node.js на Coddy. Урок 7 из 25.

zod — это установленный пакет, который проверяет значения на соответствие написанному вами описанию. import { z } from 'zod' предоставляет построитель схем z. Одно описание может заменить повторяющиеся проверки полей, написанные вручную.

Схема описывает значения, которые может содержать запрос. С помощью zod z.object перечисляет поля и задаёт правило для каждого из них. z.string() принимает текст; z.number() принимает число.

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

Здесь обязательны оба поля. Последняя строка в exercise.js проверяет объект на соответствие вашей схеме; на следующем уроке объясняется safeParse. На этом первом этапе сосредоточьтесь на именах и типах полей. На следующем этапе результат полной проверки будет использоваться для определения того, что должен вернуть API.

challenge icon

Задание

Легко

Это небольшой практический проект. Настройка уже выполнена; редактируй только exercise.js.

Заполни схему Task строкой title и логическим значением done, используя z.boolean(). Запрос POST к /result с данными {"title":"Read","done":false} возвращает {"valid":true}. Если заголовок отсутствует или значение done является строкой, возвращается {"valid":false}.

При первоначальном запросе GET /result используется предоставленный пример {"title": "Read", "done": "false"}. Используй POST /result с телом в формате JSON, чтобы проверить другие входные данные.

Пустая начальная схема принимает это значение неверного типа; завершённая схема должна возвращать {"valid":false} при первоначальном GET.

Попробуйте сами

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

Все уроки раздела REST API

Потренируйтесь самостоятельно: Песочница Express