Next.jsIntermediate
Route Handlers (API)
route.ts দিয়ে API endpoint তৈরি — GET, POST এবং dynamic params বাংলায়।
13টি অংশবাংলা ভাষায়
Route Handlers দিয়ে app ফোল্ডারের ভেতরেই custom API endpoint তৈরি করা যায় — Web Request/Response API ব্যবহার করে।
প্রথম Route Handler
app/api/route.tsts
ts
export async function GET(request: Request) {
return Response.json({ message: "Hello from API" });
}এই API /api URL-এ GET request-এ response দেবে।
GET with Params
app/api/users/[id]/route.tsts
ts
import type { NextRequest } from "next/server";
export async function GET(
_req: NextRequest,
ctx: RouteContext<"/api/users/[id]">
) {
const { id } = await ctx.params;
return Response.json({ id });
}POST Handler
app/api/posts/route.tsts
ts
export async function POST(request: Request) {
const body = await request.json();
// database-এ save করুন...
return Response.json({ success: true, data: body }, { status: 201 });
}Supported Methods
| Method | ব্যবহার |
|---|---|
| GET | Data পড়া |
| POST | নতুন data তৈরি |
| PUT / PATCH | Data update |
| DELETE | Data মুছে ফেলা |
| HEAD / OPTIONS | Metadata checking |
Caching
Route Handlers default-এ cached নয়। চাইলে GET-এ export const dynamic = 'force-static' দিয়ে static-cache opt-in করা যায়।
page.tsx নাকি route.ts?
একই route segment-এ `page.tsx` ও `route.ts` একসাথে থাকতে পারবে না — conflict। Page UI-এর জন্য, route API-এর জন্য।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।