본문 바로가기
Q&A2023년 1월 2일1분 읽기

Zod로 TypeScript 런타임 검증하기

장
장태호
조회 815댓글 1

Zod 라이브러리로 런타임에서 타입을 검증하는 방법을 알려주세요.

댓글 1

김김영삼3년 전

Zod는 TypeScript 스키마 검증 라이브러리입니다:

import { z } from "zod";

const UserSchema = z.object({
name: z.string().min(2, "이름은 2글자 이상"),
email: z.string().email("유효한 이메일이 아닙니다"),
age: z.number().min(0).max(150).optional(),
});

type User = z.infer<typeof UserSchema>; // 타입 자동 생성

// API에서 사용
app.post("/users", (req, res) => {
const result = UserSchema.safeParse(req.body);
if (!result.success) {
return res.status(400).json({ errors: result.error.issues });
}
// result.data는 안전한 타입
});

Next.js Server Actions, tRPC와 궁합이 좋습니다. API 입력 검증에 강력 추천합니다.

Ctrl+Enter로 등록