API Routes は、Next.jsを使用してAPIを構築することができる機能
わざわざ別途サーバー用意しなくてもpages/api
にファイルをおくとそれがAPIのエンドポイントURLになるから便利
pages/ ├ blog/ │ └index.tsx ← http://localhost/blog のページ URL └ api/ └ users.tsx ← http://localhost/api/users APIエンドポイントURL
実装も馴染みがある感じで
export default function handler(req, res) { res.statusCode = 200 res.setHeader('Content-Type', 'application/json') res.end(JSON.stringify({ name: 'John Doe' })) }
req
と res
を受け取り、APIとして返却したい内容を res に追加する関数を作り、export するだけ
ただ、HTTPメソッドに応じた処理の振り分けはif文かswitch文で処理しないといけない
export default function handler(req, res) { if (req.method === 'POST') { // Process a POST request } else { // Handle any other HTTP method } }