使用Zod進行 API 資料驗證 | Javascript

在串接API時,確保用戶提交的數據符合預期格式和結構是至關重要的。使用Zod可以幫助我們輕鬆地定義和驗證後端API的輸入和輸出數據,從而提高程式碼的穩定性和安全性。

什麼是Zod?

Zod是一個用於JavaScript和TypeScript的數據驗證庫,它提供了一個簡單而強大的方法來定義和驗證數據模式。通過使用Zod,我們可以定義數據的結構,然後對用戶提交的數據進行驗證,以確保其符合預期格式。

如何使用Zod進行API數據驗證?

讓我們通過一個簡單的示例來演示如何使用Zod來驗證用戶提交的註冊信息。

import { z } from "zod";

// 定義用戶信息的格式
const UserSchema = z.object({
  username: z.string().min(3).max(20),
  email: z.string().email(),
  password: z.string().min(6),
});

// 假設你有一個POST端點,接受用戶註冊的請求
function registerUser(userData) {
  // 驗證用戶信息是否符合格式
  const validatedUserData = UserSchema.parse(userData);
  
  // 將用戶信息保存到數據庫或其他地方
  
  // 返回用戶信息
  return validatedUserData;
}

// 使用示例
const userData = {
  username: 'john_doe',
  email: 'john@example.com',
  password: 'password123',
};

try {
  const registeredUser = registerUser(userData);
  console.log('用戶註冊成功:', registeredUser);
} catch (error) {
  console.error('用戶註冊失敗:', error.message);
}

在這個示例中,我們使用Zod定義了用戶信息的格式,並在registerUser函數中對用戶提交的資料進行驗證。如果資料不符合格式,Zod將拋出一個錯誤。否則,我們就可以將用戶信息保存到資料庫中並返回成功註冊的用戶信息。

總結

通過使用Zod,我們可以輕鬆地定義和驗證API的輸入和輸出資料,從而確保資料的完整性和安全性。這不僅可以提高程式碼的可讀性和可維護性,還可以減少潛在的錯誤和安全漏洞。因此,在串接API時,強烈建議使用Zod來進行資料驗證。