カテゴリ: Next.js 更新日: 2026/03/06

Next.jsのapiフォルダとは?Route Handlersとserver関数の役割を初心者向けに完全解説

Next.jsのapiフォルダ(Route Handlers / server関数)の役割
Next.jsのapiフォルダ(Route Handlers / server関数)の役割

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

生徒

「Next.jsのapiフォルダって何をする場所なんですか?」

先生

「簡単に言うと、Next.jsで裏側の処理を書くための場所です。」

生徒

「裏側って、画面には表示されない部分ですよね?」

先生

「その通りです。データのやり取りや計算などを担当します。」

1. Next.jsのapiフォルダとは何か

1. Next.jsのapiフォルダとは何か
1. Next.jsのapiフォルダとは何か

Next.jsのapiフォルダは、Webサイトの見た目ではなく、内部で動く処理を書くためのディレクトリです。 たとえるなら、お店の「厨房」のような存在です。お客さんは料理を見て注文しますが、 実際に調理をしている場所は見えません。Next.jsでは、その調理場の役割をapiフォルダが担当します。

このapiフォルダを使うことで、フォームから送られたデータを受け取ったり、 計算した結果を返したり、データベースと通信したりできます。 画面を作るページファイルとは役割がはっきり分かれているのが特徴です。

2. Route Handlersとは何か

2. Route Handlersとは何か
2. Route Handlersとは何か

Route Handlersとは、Next.jsのapiフォルダの中で使われる仕組みで、 「このURLにアクセスされたら、この処理をする」というルールを書きます。 URLは住所、処理はその住所にある作業内容だと考えると分かりやすいです。

Route Handlersを使うと、ブラウザや他のプログラムからリクエストを受け取り、 JSONという形式でデータを返すことができます。 JSONとは、データをやり取りするための決まった書き方です。

3. apiフォルダの基本的なディレクトリ構成

3. apiフォルダの基本的なディレクトリ構成
3. apiフォルダの基本的なディレクトリ構成

Next.jsのappディレクトリの中にapiフォルダを作り、その中にさらにフォルダを作成します。 フォルダの名前がURLの一部になり、route.jsやroute.tsxが処理の中身になります。 これにより、URLと処理内容が自然に対応づけられます。


export async function GET() {
  return new Response(
    JSON.stringify({ message: "こんにちは、APIです" }),
    { status: 200 }
  );
}
(APIにアクセスすると「こんにちは、APIです」というデータが返ってきます)

4. server関数とは何か

4. server関数とは何か
4. server関数とは何か

server関数とは、サーバー側だけで実行される関数のことです。 ブラウザでは動かず、安全に処理できるのが特徴です。 例えば、秘密の情報を使った計算や、データの保存などに使われます。

パソコンで言えば、自分しか触れない管理者用の部屋のようなものです。 外からは直接見えないため、安全に処理を行えます。


export async function POST(request) {
  const data = await request.json();
  return new Response(
    JSON.stringify({ result: data.name + "さん、登録完了です" }),
    { status: 200 }
  );
}
(名前を送ると「◯◯さん、登録完了です」と返ってきます)

5. GETとPOSTの違いを理解しよう

5. GETとPOSTの違いを理解しよう
5. GETとPOSTの違いを理解しよう

apiフォルダでは、GETやPOSTという方法を使い分けます。 GETは「情報をください」というお願いで、POSTは「この情報を渡します」という意味です。 普段インターネットでページを見るときは、ほとんどがGETです。

フォームの送信やデータ登録のように、何かを送るときはPOSTを使います。 この違いを理解すると、apiフォルダの役割がぐっと分かりやすくなります。


export async function GET() {
  return new Response(JSON.stringify({ time: "現在時刻です" }));
}

6. フロント画面とapiの関係

6. フロント画面とapiの関係
6. フロント画面とapiの関係

Next.jsでは、画面を作る部分とapiフォルダが連携して動きます。 画面はユーザーと直接やり取りし、apiは裏側で計算や処理を行います。 この分担により、コードが整理され、読みやすくなります。

初心者の方は「画面は見える部分、apiは見えない部分」と覚えるだけでも十分です。 慣れてくると、それぞれの役割が自然に理解できるようになります。

7. apiフォルダを使うメリット

7. apiフォルダを使うメリット
7. apiフォルダを使うメリット

apiフォルダを使う最大のメリットは、Next.jsだけで完結できる点です。 別のサーバーを用意しなくても、データ処理までまとめて書けます。 そのため、学習コストが低く、初心者でも始めやすい構成になっています。

また、URLと処理が直感的に結びつくため、後から見直したときも理解しやすいです。 これは長く使うプロジェクトほど大きな利点になります。

カテゴリの一覧へ
新着記事
New1
Next.js
Next.jsの特徴を一覧で理解しよう!初心者でもわかるNext.js(App Router時代の強化点)
New2
Next.js
Next.jsがSEOに強い理由を完全解説!表示速度とメタデータ管理を初心者向けにやさしく説明
New3
Next.js
Next.jsのapiフォルダとは?Route Handlersとserver関数の役割を初心者向けに完全解説
New4
Next.js
Next.jsのutilsフォルダで共通処理をまとめる方法を完全ガイド!初心者でもわかるNext.jsのディレクトリ構成
人気記事
No.1
Java&Spring記事人気No1
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.2
Java&Spring記事人気No2
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.3
Java&Spring記事人気No3
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.4
Java&Spring記事人気No4
React
Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐
No.5
Java&Spring記事人気No5
React
Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐
No.6
Java&Spring記事人気No6
React
ReactのProps設計を完全マスター!再利用性を高めるコンポーネント設計の考え方
No.7
Java&Spring記事人気No7
Next.js
Next.jsとは?Reactとの関係を初心者向けにやさしく解説|Next.jsの基本概念と特徴
No.8
Java&Spring記事人気No8
React
Reactのライフサイクルでよくあるバグとデバッグ方法を初心者向けに解説