Описание тела
Часть раздела 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.
Задание
ЛегкоЭто небольшой практический проект. Настройка уже выполнена; редактируй только 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
1Ресурсы и глаголы
Ресурсы и URLСоздание с помощью POST4Браузеры, версии и конфигурация
Что такое originРазрешение другого originCORSСтраница, вызывающая APIПотренируйтесь самостоятельно: Песочница Express