
Zodと設定0行でNext.jsのRoute Handlersに完全な型を付与する最強ライブラリ「FrourioNext」
BRANK
Next.js + REST APIを必要とする人のためのライブラリ世間がRSCで盛り上がっている今でも私はREST APIを好んで使っています。OpenAPIをSwaggerUIで展開してAPI仕様書として納品できるし、保守引継ぎのためのエンジニア教育も比較的簡単です。SwiftやKotlinでネイティブアプリ対応する場合もOpenAPIからHTTPクライアントを自動生成して使うことが多いのではないでしょうか?ゆえにNext.jsのRoute HandlersでAPIを開発したい場面がそれなりにあるのですが、公式の方法だけだと型が緩くて辛いです。回避策として全てのリクエストをHonoに投げて型を付ける記事をよく見かけますが、ファイルベースルーティングの利点が失われてしまいます。この記事では、aspidaとfrourioの開発経験を活かして設計されたRoute Handlers特化のTypeScriptライブラリ「FrourioNext」を紹介します。どんな問題を解決するのかNext.jsの公式サイトの方法でRoute Handlersに型定義すると以下のようなコードになります。app/items/[slug]/route.tsimport { type NextRequest, NextResponse } from 'next/server'; export async function POST( request: NextRequest, { params }: { params: Promise…