๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[E-Commerce App with REST API] (14) ์นดํ…Œ๊ณ ๋ฆฌ ์ƒ์„ฑํ•˜๊ธฐ (POST) & ์นดํ…Œ๊ณ ๋ฆฌ ์ˆ˜์ •ํ•˜๊ธฐ (PUT) & ์นดํ…Œ๊ณ ๋ฆฌ ์‚ญ์ œํ•˜๊ธฐ (DELETE) ๋ณธ๋ฌธ

๐Ÿ‘ฉ‍๐Ÿ’ป ๋ฐฑ์—”๋“œ(Back-End)/Node js

[E-Commerce App with REST API] (14) ์นดํ…Œ๊ณ ๋ฆฌ ์ƒ์„ฑํ•˜๊ธฐ (POST) & ์นดํ…Œ๊ณ ๋ฆฌ ์ˆ˜์ •ํ•˜๊ธฐ (PUT) & ์นดํ…Œ๊ณ ๋ฆฌ ์‚ญ์ œํ•˜๊ธฐ (DELETE)

์ง•์ง•์•ŒํŒŒ์นด 2023. 3. 31. 01:16
728x90
๋ฐ˜์‘ํ˜•

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” Developers Corner ์˜ ์œ ํŠœ๋ธŒ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค :-)>

=> Node.js E-Commerce App with REST API: Let's Build a Real-Life Example!

 

๐ŸŒท ์นดํ…Œ๊ณ ๋ฆฌ ์ƒ์„ฑํ•˜๊ธฐ (POST) 

 

๐ŸŒท ์นดํ…Œ๊ณ ๋ฆฌ ์ˆ˜์ •ํ•˜๊ธฐ (PUT)

 

๐ŸŒท ์นดํ…Œ๊ณ ๋ฆฌ ์‚ญ์ œํ•˜๊ธฐ (DELETE)

๐ŸŒท ์ฝ”๋“œ

โœ… controllers/categoryCtrl.js

const Category = require("../models/Category");
const asyncHandler = require("express-async-handler");
const { validateMongodbID } = require("../utils/validateMongodbID");

// ์นดํ…Œ๊ณ ๋ฆฌ ์ƒ์„ฑํ•˜๊ธฐ
const createCategory = asyncHandler(async (req, res) => {
  try {
    const newCategory = await Category.create(req.body);
    res.json(newCategory);
  }
  catch (error) {
    throw new Error(error);
  }
});

// ์นดํ…Œ๊ณ ๋ฆฌ ์ˆ˜์ •ํ•˜๊ธฐ
const updateCategory = asyncHandler(async (req, res) => {
  const { id } = req.params;
  validateMongodbID(id);
  try {
    const updateCategory = await Category.findByIdAndUpdate(id, req.body, {
      new: true,
    });
    res.json(updateCategory);
  }
  catch (error) {
    throw new Error(error);
  }
});

// ์นดํ…Œ๊ณ ๋ฆฌ ์‚ญ์ œํ•˜๊ธฐ
const deleteCategory = asyncHandler(async (req, res) => {
  const { id } = req.params;
  validateMongodbID(id);
  try {
    const deleteCategory = await Category.findByIdAndDelete(id);
    res.json(deleteCategory);
  }
  catch (error) {
    throw new Error(error);
  }
});

module.exports = {
  createCategory,
  updateCategory,
  deleteCategory,

}

 

โœ… routes/categoryRoute.js

const express = require("express");
const { createCategory, updateCategory, deleteCategory } = require("../controllers/categoryCtrl");
const { authMiddleware, isAdmin } = require("../middlewares/authMiddleware");
const router = express.Router();

router.post("/", authMiddleware, isAdmin, createCategory);
router.put("/:id", authMiddleware, isAdmin, updateCategory);
router.delete("/:id", authMiddleware, isAdmin, deleteCategory);

module.exports = router;
728x90
๋ฐ˜์‘ํ˜•
Comments