14分で読めます
API のバリデーションは Zod とドメイン層のどちらに書くか
「題名は空にできない」という業務ルールは、API の入口で使う Zod にもドメイン層にも書けてしまい、両方に書くと片方だけ変えたときに食い違う。Zod には値の形だけを書き、業務ルールはドメイン層の関数1つに書く分け方を、最小のコードで示す。
TypeScriptZod
TAG
このタグの記事が全2件あります。
「題名は空にできない」という業務ルールは、API の入口で使う Zod にもドメイン層にも書けてしまい、両方に書くと片方だけ変えたときに食い違う。Zod には値の形だけを書き、業務ルールはドメイン層の関数1つに書く分け方を、最小のコードで示す。
TypeScriptのdiscriminated unionで起きる型エラーを、as any・カスタムフック・型ガード・スキーマ設計という実装難易度別の4つの解決策で整理しました。
つくることで、見える景色がある。

