カテゴリ: 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でAxiosを使ったファイルアップロードの実装方法を完全解説!初心者でもできるAPI通信
New2
Next.js
Next.js Pages RouterのAPI Routesの仕組みを完全ガイド!初心者でもわかるNext.jsのサーバー処理
New3
Next.js
Next.jsの内部仕組みをやさしく解説!レンダリングとキャッシュ戦略を初心者向けに理解しよう
New4
React
ReactのuseEffect依存配列を徹底解説!初心者でも理解できるDependency Arrayの仕組み
人気記事
No.1
Java&Spring記事人気No1
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.3
Java&Spring記事人気No3
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.4
Java&Spring記事人気No4
React
ReactのPropsを使ってコンポーネントの表示を動的に切り替える方法を解説!初心者でもわかるReact入門
No.5
Java&Spring記事人気No5
React
Reactのチェックボックス入力を完全解説!初心者でもわかるReactフォーム処理
No.6
Java&Spring記事人気No6
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.7
Java&Spring記事人気No7
Next.js
Next.jsのApp RouterとPages Routerの役割の違いを完全解説!初心者でもわかるNext.jsの基本概念
No.8
Java&Spring記事人気No8
React
Reactのラジオボタン選択を完全解説!初心者でもわかるReactフォーム処理