클라이언트의 요청 조건(메서드, 주소 등)에 대응해 응답하는 방식
Express.js
기본 기능 중 하나Router의 구조
router.METHOD (PATH, HANDLER);
router
: express의 라우터를 정의하기 위해 사용METHOD
: get, post, put, delete ...PATH
: 실제 서버에서 API를 사용하기 위한 경로HANDLER
: 라우트가 일치할 때 실행되는 함수
router 사용해보기
routes/goods.js
// routes/goods.js
//express라는 라이브러리를 express라는 변수에 할당
const express = require('express');
//express.Router라는 함수를 실행해서 router라는 변수에 할당
const router = express.Router();
// localhost:3000/api/ GET
router.get('/',(req, res) => { // 반환받은 router란 변수를 이용해서 기본경로에 들어왔을 때 해당 코드 실행
res.send("default url for goods.js GET Method"); // default..라는 문자열을 반환
});
// localhost:3000/api/about GET
router.get('/about',(req, res) => {
res.send("goods.js about PATH")
});
// 작성한 Router를 app.js에서 사용하기 위해 하단에 내보내주는 코드
//router라는 변수를 module.exports를 통해서 밖으로 내보냄
module.exports = router;
app.js
// app.js
// 외부 모듈의 기능을 가져옴 (./ 는 상대경로)
const goodsRouter = require("./routes/goods");
// 기본 url 뒤에 .api가 추가 될 경우 goodsRouter라는 라우터로 가라는 뜻
//req.body를 사용하기 위한 미들웨어 (전역 미들웨어에 적용)
// localhost:3000/api -> goodsRouter
app.use("/api", [goodsRouter]);
- 미들웨어(Middleware)란?
웹 서버에서 요청을 받을 때 모든 요청에 대해 공통적인 처리를 하고싶은 경우, 웹 서버의 요청/응답에 대해 공통적으로 관리 가능