カテゴリ: Next.js 更新日: 2026/02/15

Next.js Pages RouterのAPI Routesの仕組みを完全ガイド!初心者でもわかるNext.jsのサーバー処理

Next.js Pages RouterのAPI Routes(pages/api)の仕組み
Next.js Pages RouterのAPI Routes(pages/api)の仕組み

先生と生徒の会話形式で理解しよう

生徒

「Next.jsって画面を作るだけじゃなくて、裏側の処理もできますか?」

先生

「できますよ。Pages RouterにはAPI Routesという仕組みがあります。」

生徒

「サーバーとか難しそうですが、大丈夫でしょうか?」

先生

「大丈夫です。まずは仕組みをイメージから理解していきましょう。」

1. Next.js Pages RouterのAPI Routesとは?

1. Next.js Pages RouterのAPI Routesとは?
1. Next.js Pages RouterのAPI Routesとは?

Next.js Pages RouterのAPI Routesとは、Webページではなく、データを返すための仕組みです。 普通のNext.jsページは画面を表示しますが、API Routesは裏側で動く処理専用の場所です。 例えるなら、レストランのホールがページ表示で、キッチンがAPI Routesです。 お客さんから注文を受けて、料理を作って返す役割を担います。

この仕組みを使うことで、Next.jsだけで画面とサーバー処理の両方を作れるようになります。 別のサーバーを用意しなくてよい点が、初心者にとって大きなメリットです。

2. pages/apiフォルダの基本構造

2. pages/apiフォルダの基本構造
2. pages/apiフォルダの基本構造

API Routesは、pagesフォルダの中にあるapiフォルダにファイルを置くことで作成します。 pages/api/hello.js のようなファイルを作ると、それだけでAPIとして動きます。 ファイル名がURLの一部になるため、構造がとても分かりやすいです。

例えば hello.js は /api/hello というURLになります。 初心者でも「フォルダ=住所、ファイル=部屋」と考えると理解しやすいです。

3. 最初のAPI Routesを書いてみよう

3. 最初のAPI Routesを書いてみよう
3. 最初のAPI Routesを書いてみよう

ここでは、文字を返すだけの簡単なAPI Routesを作ります。 API Routesでは、画面ではなくデータを返す点がポイントです。


export default function handler(req, res) {
  res.status(200).json({ message: "こんにちは、API Routesです" });
}
(ブラウザで /api/hello にアクセスすると、文字のデータが表示されます)

handlerという関数は、リクエストを受け取り、レスポンスを返す役割です。 reqは「お願いされた内容」、resは「返事をするための箱」と考えると簡単です。

4. API Routesで条件によって処理を分ける

4. API Routesで条件によって処理を分ける
4. API Routesで条件によって処理を分ける

API Routesでは、アクセス方法によって処理を分けることができます。 例えば、データを取得する場合と送信する場合で動きを変えられます。


export default function handler(req, res) {
  if (req.method === "GET") {
    res.status(200).json({ result: "データを取得しました" });
  } else {
    res.status(405).json({ error: "この方法は使えません" });
  }
}
(GETでアクセスすると成功し、それ以外ではエラー表示になります)

req.methodは、どの方法でアクセスされたかを表します。 難しい言葉ですが、「操作の種類」と考えれば問題ありません。

5. データを受け取るAPI Routesの例

5. データを受け取るAPI Routesの例
5. データを受け取るAPI Routesの例

API Routesは、画面から送られた情報を受け取ることもできます。 これはお問い合わせフォームやログイン処理でよく使われます。


export default function handler(req, res) {
  const name = req.body.name;
  res.status(200).json({ message: `${name}さん、ようこそ` });
}
(名前を送ると、その名前を使ったメッセージが返ります)

req.bodyは、送られてきた情報が入る場所です。 郵便物の中身を取り出すイメージで覚えると理解しやすいです。

6. Pages RouterのAPI Routesと画面の関係

6. Pages RouterのAPI Routesと画面の関係
6. Pages RouterのAPI Routesと画面の関係

Pages Routerでは、画面用のページとAPI Routesがはっきり分かれています。 画面はユーザーが見る部分、API Routesは裏で支える部分です。

この分離によって、役割が整理され、プログラムが読みやすくなります。 初心者でも「表示」と「処理」を分けて考えられるのが特徴です。

7. Pages RouterのAPI Routesが初心者に向いている理由

7. Pages RouterのAPI Routesが初心者に向いている理由
7. Pages RouterのAPI Routesが初心者に向いている理由

Pages RouterのAPI Routesは、ファイルを置くだけで動く手軽さがあります。 サーバーの設定や難しい準備が不要なため、学習のハードルが低いです。

また、Next.jsの中で完結するため、全体像を把握しやすい点も魅力です。 プログラミング未経験の人でも、少しずつ理解を積み重ねられます。

カテゴリの一覧へ
新着記事
New1
React
ReactのPropsでオブジェクト型を扱う方法を完全ガイド!初心者でもわかる型安全なProps管理
New2
React
Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐
New3
React
React Context APIの分割方法を解説!パフォーマンスを高めるベストプラクティス
New4
React
Reactの自己終了タグの書き方を完全ガイド!初心者でもわかるimgやinputのJSX記法
人気記事
No.1
Java&Spring記事人気No1
React
Reactの子コンポーネントから親コンポーネントへデータを渡す方法を徹底解説!初心者にもわかるReactのイベントとデータの流れ
No.2
Java&Spring記事人気No2
React
Reactの学習ロードマップ!初心者が最短で習得する流れを完全ガイド
No.3
Java&Spring記事人気No3
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.4
Java&Spring記事人気No4
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.5
Java&Spring記事人気No5
React
React開発におすすめのVSCode拡張機能まとめ!初心者でもすぐ使える便利ツール紹介
No.6
Java&Spring記事人気No6
React
ReactのState管理ベストプラクティス!初心者でもわかる再レンダリング最適化の考え方
No.7
Java&Spring記事人気No7
React
ReactのContext APIでログイン状態を管理する方法を完全解説!初心者でもわかる認証機能の実装
No.8
Java&Spring記事人気No8
React
React Context APIのレンダリング問題を解決!初心者でもわかるパフォーマンス最適化ガイド