Express Router 활용하기
express의 Router를 활용하여 서버의 Router 구조를 잡을 수 있습니다.
처음 구조를 잘 잡아야 추후 프로젝트의 폴더 구조 및 개발의 편의성이 늘어난다고 생각합니다.
기존 네이버 api를 통해 router를 구상했습니다.
이렇듯 귀찮음을 해결해 줄 수 있는게 Router입니다.
기존의 구조에서 src 폴더에 routers를 추가해줍니다. 그 안에 index.js와 product.js를 추가해줍니다.
product.js의 코드
const router = require("express").Router();
router.get("/", (req, res, next) => {
res.send("hi");
});
module.exports = router;
api method 중 get을 통해서 테스트 해보겠습니다.
index.js의 코드
const router = require("express").Router();
const products = require("./product");
router.use("/products", products);
module.exports = router;
index.js에서는 router들을 모아주고 관리하게 만들어줍니다.
추후에 다른 api 주소가 필요하면 index.js에서 선언해주고서 관리하면 됩니다.
app.js의 코드
const express = require("express");
const app = express();
app.set("PORT", process.env.PORT || 4190);
const api = require("./routers");
app.use("/api", api);
app.listen(app.get("PORT"), () => {
console.log(`listen on localhost:${app.get("PORT")}`);
});
기존과 다르게 api를 변수로 선언하고 routers에서 가져옵니다.
여기서 주의할 것은 "./routers"로 끝내면 index.js를 불러옵니다.
그리고 src 폴더 밖에 api.http 파일을 만듭니다.
api.http
http://localhost:4190/api/products
router.get("/", (req, res, next) => {
res.send("hi");
});
코드 위에 Send Request를 누르면 기존의 product.js에서 HTTP/1.1 200 OK라는 메세지와 hi라는 메세지가 나오는 것을 확인할 수 있습니다.
오늘은 api를 활용하여 서버의 router 구조를 구축해봤습니다. 라우터를 활용하여 전체적인 구조를 한눈에 보기 쉽게 관리할 수 있고, 귀찮은 api의 길이를 줄인다는 장점이 있습니다.
Author And Source
이 문제에 관하여(Express Router 활용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sumaoo20/Express-Router-활용하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)