๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[E-Commerce App with REST API] (19) ์ฟ ํฐ ์กฐํํ๊ธฐ (GET) & ๋ชจ๋ ์ฟ ํฐ ์กฐํํ๊ธฐ (GET) & ์ฟ ํฐ ์์ฑํ๊ธฐ (POST) & ์ฟ ํฐ ์์ ํ๊ธฐ (PUT) & ์ฟ ํฐ ์ญ์ ํ๊ธฐ (DELETE) ๋ณธ๋ฌธ
๐ฉ๐ป ๋ฐฑ์๋(Back-End)/Node js
[E-Commerce App with REST API] (19) ์ฟ ํฐ ์กฐํํ๊ธฐ (GET) & ๋ชจ๋ ์ฟ ํฐ ์กฐํํ๊ธฐ (GET) & ์ฟ ํฐ ์์ฑํ๊ธฐ (POST) & ์ฟ ํฐ ์์ ํ๊ธฐ (PUT) & ์ฟ ํฐ ์ญ์ ํ๊ธฐ (DELETE)
์ง์ง์ํ์นด 2023. 4. 2. 01:23728x90
๋ฐ์ํ
<๋ณธ ๋ธ๋ก๊ทธ๋ Developers Corner ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>
=> Node.js E-Commerce App with REST API: Let's Build a Real-Life Example!
๐ท ์ฟ ํฐ ์กฐํํ๊ธฐ (GET)
๐ท ๋ชจ๋ ์ฟ ํฐ ์กฐํํ๊ธฐ (GET)
๐ท ์ฟ ํฐ ์์ฑํ๊ธฐ (POST)
๐ท ์ฟ ํฐ ์์ ํ๊ธฐ (PUT)
๐ท ์ฟ ํฐ ์ญ์ ํ๊ธฐ (DELETE)
๐ท ์ฝ๋
โ controllers/couponCtrl.js
const Coupon = require("../models/Coupon");
const asyncHandler = require("express-async-handler");
const { validateMongodbID } = require("../utils/validateMongodbID");
// ๋ธ๋๋ ์์ฑํ๊ธฐ
const createCoupon = asyncHandler(async (req, res) => {
try {
const newCoupon = await Coupon.create(req.body);
res.json(newCoupon);
}
catch (error) {
throw new Error(error);
}
});
// ๋ธ๋๋ ์์ ํ๊ธฐ
const updateCoupon = asyncHandler(async (req, res) => {
const { id } = req.params;
validateMongodbID(id);
try {
const updateCoupon = await Coupon.findByIdAndUpdate(id, req.body, {
new: true,
});
res.json(updateCoupon);
}
catch (error) {
throw new Error(error);
}
});
// ๋ธ๋๋ ์ญ์ ํ๊ธฐ
const deleteCoupon = asyncHandler(async (req, res) => {
const { id } = req.params;
validateMongodbID(id);
try {
const deleteCoupon = await Coupon.findByIdAndDelete(id);
res.json(deleteCoupon);
}
catch (error) {
throw new Error(error);
}
});
// ๋ธ๋๋ ์กฐํํ๊ธฐ
const getaCoupon = asyncHandler(async (req, res) => {
const { id } = req.params;
validateMongodbID(id);
try {
const getaCoupon = await Coupon.findById(id);
res.json(getaCoupon);
}
catch (error) {
throw new Error(error);
}
});
// ๋ชจ๋ ๋ธ๋๋ ์กฐํํ๊ธฐ
const getallCoupon = asyncHandler(async (req, res) => {
try {
const getallCoupon = await Coupon.find();
res.json(getallCoupon);
}
catch (error) {
throw new Error(error);
}
});
module.exports = {
createCoupon,
updateCoupon,
deleteCoupon,
getaCoupon,
getallCoupon,
}
โ routes/couponRoute.js
const express = require("express");
const { createCoupon, updateCoupon, deleteCoupon, getaCoupon, getallCoupon } = require("../controllers/couponCtrl");
const { authMiddleware, isAdmin } = require("../middlewares/authMiddleware");
const router = express.Router();
router.post("/", authMiddleware, isAdmin, createCoupon);
router.put("/:id", authMiddleware, isAdmin, updateCoupon);
router.delete("/:id", authMiddleware, isAdmin, deleteCoupon);
router.get("/:id", getaCoupon);
router.get("/", getallCoupon);
module.exports = router;
โ index.js
const express = require("express");
const bodyParser = require("body-parser");
const dbConnect = require("./config/dbConnect");
const {notFound, errorHandler} = require("./middlewares/errorHandler");
const app = express();
require("dotenv").config();
const PORT = process.env.PORT || 8000;
const authRouter = require("./routes/authRoute");
const productRouter = require("./routes/productRoute");
const blogRouter = require("./routes/blogRoute");
const prodCategoryRouter = require("./routes/prodCategoryRoute");
const blogCategoryRouter = require("./routes/blogCategoryRoute");
const brandRouter = require("./routes/brandRoute");
const couponRouter = require("./routes/couponRoute");
const cookieParser = require("cookie-parser");
// mongoDB
dbConnect();
// Bodyparser
// express์๋ฒ๋ก POST์์ฒญ์ ํ ๋ inputํ๊ทธ์ value๋ฅผ ์ ๋ฌ
// URL-encoded ํ์์ ๋ฌธ์์ด๋ก ๋์ด์ค๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด๋ก์ ๋ณํ ํ์
app.use(bodyParser.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use("/api/user", authRouter);
app.use("/api/product", productRouter);
app.use("/api/blog", blogRouter);
app.use("/api/prodCategory", prodCategoryRouter);
app.use("/api/blogCategory", blogCategoryRouter);
app.use("/api/brand", brandRouter);
app.use("/api/coupon", couponRouter);
app.use(notFound);
app.use(errorHandler);
app.use("/", (req, res) => {
res.send("hihi");
})
app.listen(PORT, () => {
console.log(`๐ Server started on port http://localhost:${PORT}`);
});
728x90
๋ฐ์ํ
'๐ฉโ๐ป ๋ฐฑ์๋(Back-End) > Node js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments