Next.jsでもHonoを使ってOpenAPIの支援を受けられるようにする by あずきバー / azukibar

Hono Conference 2025
レギュラートーク (25分)
日本語 (Japansese)

Next.jsでもHonoを使ってOpenAPIの支援を受けられるようにする

azukibar_D あずきバー / azukibar azukibar_D

サービス間通信を実装する上で、スキーマを定義し何らかの方法で表現されているとスムーズに開発を進めることができます。言語に依存しないスキーマ表現方法としてOpenAPIがあります。

Next.jsはReactを用いたWebアプリケーションを作成するのに便利なフレームワークです。Next.jsはHTTP APIを提供する仕組みとしてRoute Handlersを提供しています。しかしながらRoute Handlersをそのまま用いてもAPIのスキーマを生成することはできません。Next.jsで提供しているHTTP APIのスキーマを別アプリケーションから参照したいときにこれでは不便です。

ところでhono/vercelを用いることによりNext.js Route HandlersでもHonoを使うことができます。
そしてhono-openapi@hono/valibot-validatorを用いることによりHonoで提供するAPIのスキーマをOpenAPI形式で出力することができます。
さらに副次的な効果として、Honoならではの型や豊富なエコシステムによる支援を受けることができます。

このようにして我々はHTTP APIのスキーマを手に入れることができました。

このトークでは実際に以下の内容について話します。

  • コードファーストでOpenAPIスキーマを生成するためのアプローチ
  • Next.js Route HandlerからHonoへの段階的な移行