본문 설명하기
Coddy Node.js 여정의 REST API 섹션에 포함된 레슨. 25개 중 7번째.
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만 수정하세요.
title 문자열과 done 불리언을 포함하도록 Task 스키마를 채우세요. z.boolean()을 사용하세요. POST /result에 {"title":"Read","done":false}를 보내면 {"valid":true}를 반환합니다. title이 없거나 done 값이 문자열이면 {"valid":false}를 반환합니다.
초기 GET /result는 제공된 예제 {"title": "Read", "done": "false"}를 사용합니다. 다른 입력을 시도하려면 JSON 본문과 함께 POST /result를 사용하세요.
빈 시작 스키마는 이 잘못된 유형을 허용합니다. 완성된 스키마는 초기 GET에서 {"valid":false}를 보고해야 합니다.
직접 해보기
import { z } from 'zod';
const Task = z.object({});
export function exercise(body) {
return { valid: Task.safeParse(body).success };
}
REST API의 모든 레슨
직접 연습해 보세요: Express 플레이그라운드