これは、株式会社ゆめみ Advent Calendar 2024 13日目の記事です。 Next.js (Pages Router) のAPI Routesのhandlerにおいて、ValibotやZodで値の検証をせずにリクエストボディの値を使用してしまう不具合を、型検査レベルで防ぐことを考えます。 例えば、次のようなコードで、処理の順番やロジックの誤りを型エラーを出して気づきたいといったものです。 import { NextApiHandler } from "next"; import * as v from "valibot"; const RequestBodySchema = v.object({ someValue: v.string(), }); const handler: NextApiHandler = async (req, res) => { // バリデーション