PrismaPostgresAdvanced
Server Components & Route Handlers
Next.js 14/15-এ Prisma — server-সাইড data fetch ও API।
4টি অংশবাংলা ভাষায়
server component (page.tsx)tsx
tsx
import { prisma } from "@/lib/prisma";
export default async function ProductsPage() {
const products = await prisma.product.findMany({
where: { active: true },
orderBy: { price: "desc" },
take: 12,
});
return (
<main>
{products.map((p) => (
<div key={p.id}>
<h2>{p.name}</h2>
<p>{p.price} TK</p>
</div>
))}
</main>
);
}route handler (app/api/products/route.ts)ts
ts
import { NextResponse } from "next/server";
import { prisma } from "@/lib/prisma";
export async function GET() {
const products = await prisma.product.findMany();
return NextResponse.json({ products });
}- Server Component-এ query — client-এ network নয়
- Route handler — API/json
cacheopt-in — data যতবার বদলায় (revalidate)
সতর্ক
মনে রাখুন — use client-চিহ্নিত ফাইলে Prisma query চলে না; সব query Server Components/API-তে। এজ-runtime-এ Prisma full-connection দরকার (node runtime)।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।