혼자 고민해보기_ 개발/TIL (Today I Learned)

20230626(월)_ 노드 JS 뉴스피드 팀 프로젝트 진행

nuri-story 2023. 6. 27. 22:53

금일 달성 항목

1)  노드 JS 뉴스피드 팀 프로젝트 진행 : wireframe, EDR, API명세서, 팀역할 분담 등


문제 해결 과정 1-  post 시 ,404 요청

[문제]

리뷰를 담당하게 되어 로그인한 사용자만이 리뷰를 작성할 수 있도록 해야해서 로그인 api를 임의로 만들어서 POST하는데 자꾸만 404 오류가 떴습니다.

 

[시도 및 해결]

app.js를 보니 

const express = require("express");
const router = require("./routes/index.route.js");

const app = express();
const PORT = 3000;

app.use(express.json());

app.use("/api", router);

app.listen(PORT, () => {
  console.log(PORT, "포트 번호로 서버가 실행되었습니다.");
});

되어있었는데 처음에는 라우터가 연동이 되어있지 않아서 그런가 싶었습니다.

 

그런데 확인해보니 저희 팀원의 팀장님이 index.router.js에 모든 경로를 정리해 놓으셨습니다.

const express = require("express");
const router = express.Router();
const likesRouter = require("./likes.route");
const menusRouter = require("./menus.route");
const placeCategoriesRouter = require("./placeCategories.route");
const placesRouter = require("./places.route");
const reviewsRouter = require("./reviews.route");
const usersRouter = require("./users.route");
const reviewImagesRouter = require("./reviewImages.route");
const filesRouter = require("./files.route");

const defaultRoutes = [
  {
    path: "/likes",
    route: likesRouter,
  },
  {
    path: "/menus",
    route: menusRouter,
  },
  {
    path: "/placeCategories",
    route: placeCategoriesRouter,
  },
  {
    path: "/places",
    route: placesRouter,
  },
  {
    path: "/reviews",
    route: reviewsRouter,
  },
  {
    path: "/users",
    route: usersRouter,
  },
  {
    path: "/reviewImages",
    route: reviewImagesRouter,
  },
  {
    path: "/files",
    route: filesRouter,
  },
];

defaultRoutes.forEach((route) => {
  router.use(route.path, route.route);
});

module.exports = router;

 

그래서 포스트 경로를 수정하니 해결 되었습니다.

localhost:3000/api/users/login

 

[알게된 점]

한곳에 모아놓으니 확인하기도 쉽고 간결했습니다. 다음에도 해당 방법을 통해 사용할 수 있을 것 같습니다.