3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Next.jsのAPI Routes

Posted at

API Routesの使い方

Next.jsのAPI Routesは、APIエンドポイントを簡単に作成できる機能です。

API Routesを使用すると、サーバーサイドの処理をNext.jsアプリケーション内で直接行うことができ、Node.jsの環境でリクエストを処理し、レスポンスを返すことができます。

API Routesはpages/apiディレクトリ内にファイルを作成することで実装します。

これにより、特別なサーバー設定なしでAPIを簡単に構築できます。

シンプルなAPIの作成方法

pages/apiディレクトリ内にJavaScriptまたはTypeScriptファイルを作成し、そのファイル内でリクエストとレスポンスの処理を行います。

//pages/api/hello.ts

import type { NextApiRequest, NextApiResponse } from 'next';

export default function handler(
  req: NextApiRequest,
	res: NextApiResponse
) {
res.status(200).json({ message: 'Hello, world!' });
}json({ message: 'Hello, world!' });
}

/api/helloというエンドポイントが定義され、GETリクエストを受け取ると、{"message": "Hello, world!"}というJSONレスポンスが返されます。

外部APIとの連携

外部APIとの連携を行う場合は、API Routes内で外部APIへのリクエストを行い、その結果をクライアントに返すことができます。

// pages/api/user.ts

import type { NextApiRequest, NextApiResponse } from 'next';
import fetch from 'node-fetch';

export default async function handler(
   req: NextApiRequest,
	 res: NextApiResponse
) {
const externalApiUrl = 'https://api.example.com/user';

try {
    const response = await fetch(externalApiUrl);
    const data = await response.json();
    res.status(200).json(data);
} catch (error) {
    res.status(500).json({ message: 'Error fetching data' });
  }
 }

/api/userというエンドポイントが外部のAPIからデータを取得し、そのデータをクライアントに返します。

まとめ

Next.jsのAPI Routesは、アプリケーション内で簡単にAPIを作成できる強力な機能です。

シンプルなAPIエンドポイントの作成や、外部APIとの連携を通じて、サーバーサイドでのデータ処理やAPIリクエストの処理を行うことができます。

これにより、フロントエンドとサーバーサイドの処理を同一のコードベースで管理し、効率的な開発が可能となります。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?