PrismaPostgresIntermediate
Express + Prisma — TechShop API
আগের pg-এ লেখা API এখন Prisma-তে — ইনপুট validate।
3টি অংশবাংলা ভাষায়
src/index.tsts
ts
import express from "express";
import { PrismaClient } from "@prisma/client";
const app = express();
app.use(express.json());
const prisma = new PrismaClient();
app.get("/api/products", async (_req, res) => {
const products = await prisma.product.findMany({
select: { id: true, name: true, price: true, qty: true },
});
res.json({ products });
});
app.post("/api/products", async (req, res) => {
const { name, price, qty } = req.body;
const product = await prisma.product.create({
data: { name, price, qty },
});
res.status(201).json(product);
});
app.listen(4000);- input validate — zod (নিচে)
select— জটিল payload নয়- prisma-এর
dataset— ক্ষেত্র নিয়ন্ত্রণ
validation বাধ্যতামূলক
req.body সরাসরি create-এ দেবেন না — attacker input। zod-দিয়ে validate + parse আগে।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।