Next.js API Routes Cheatsheet
Quick reference for creating API routes in Next.js: basic setup, request methods, dynamic routes, query params, middleware, and error handling.
| Feature | Description | Example | Category |
|---|---|---|---|
| API Route File | Create an endpoint in pages/api | pages/api/hello.ts export default function handler(req,res){ res.status(200).json({msg:"Hello"}) } | Basics |
| Export default handler | Default export for endpoint | export default function handler(req,res){...} | Basics |
| GET | Handle GET requests | if(req.method==="GET"){ res.status(200).json({data}) } | Request Methods |
| POST | Handle POST requests | if(req.method==="POST"){ const body=req.body; res.status(201).json({body}) } | Request Methods |
| PUT / DELETE | Handle PUT/DELETE | if(req.method==="DELETE"){...} | Request Methods |
| Dynamic Route | Use [param].ts for dynamic route | pages/api/user/[id].ts export default function handler(req,res){ const {id}=req.query } | Dynamic Routes |
| Catch-All Route | Use [...slug].ts for multiple segments | pages/api/posts/[...slug].ts | Dynamic Routes |
| req.query | Get query params | const {id}=req.query | Query & Params |
| req.body | Get POST body data | const {name}=req.body | Query & Params |
| req.headers | Access request headers | const auth=req.headers.authorization | Query & Params |
| Middleware | Custom middleware for API route | export function middleware(req,res,next){ next() } | Middleware & Utilities |
| res.status() | Set HTTP status code | res.status(404).json({error:"Not Found"}) | Middleware & Utilities |
| res.json() | Send JSON response | res.status(200).json({msg:"ok"}) | Middleware & Utilities |
| res.send() | Send plain text/HTML | res.status(200).send("Hello") | Middleware & Utilities |
| Try/Catch | Handle errors in API | try{...} catch(e){ res.status(500).json({error:e.message}) } | Error Handling |
| 404 Response | Return Not Found | res.status(404).json({error:"Not found"}) | Error Handling |