๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

 

const app = express.use()

app.get(path, function)

1) HTTP GET๋ฉ”์†Œ๋“œ์— ๊ด€ํ•œ Request๋งŒ ๋‹ค๋ฃฌ๋‹ค.

ex) GET = ๋‹จ์ˆœํžˆ ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ, POST = ์ •๋ณด๋ฅผ ์ „๋‹ฌ

 

2) ์ตœ์ข… respond๋ฅผ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

ex) res = ์ •๋ณด๋ฅผ ์‘๋‹ต ( res.send )

app.get('/user', function (req, res, next) {res.send('USER')} )

 

app.use(middleware), app.use(path, Router)

1) ๋ชจ๋“  ์ข…๋ฅ˜์˜ HTTP request๋ฅผ ๋‹ค๋ฃฌ๋‹ค.

2) ์ฃผ๋กœ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ๋‹ค๋ฃจ๋ฉฐ, ํฐ ๋ผ์šฐํŒ…์œผ๋กœ ๋‚˜๋ˆŒ ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

3)์„ธ๋ถ€์ ์ธ ๋ผ์šฐํŒ…(http๋ฉ”์†Œ๋“œ)์€ ํด๋” ๋‚ด ์ƒ์„ฑํ•œ ๋‹ค๋ฅธ ๋ผ์šฐํŒ… ์ „๋‹ด ํŒŒ์ผ์— ๋งก๊ธด๋‹ค.

app.use('/user', function (req, res, next) {
	console.log('Request Type:', req.method)
    next() 
}
// index.js

import globalRouter from "./routers/globalRouter";
import coursesRouter from "./routers/courseRouter";
import apiRouter from "./routers/apiRouter";

app.use("/", globalRouter);
app.use("/courses", coursesRouter);
app.use("/api", apiRouter);

 

app.Router.get(path, middleware)

1) Router๋‹จ๊ณ„์˜ ๋ฏธ๋“ค์›จ์–ด์ด๋‹ค.

2) ์„ธ๋ถ€์ ์ธ ๋ผ์šฐํŒ…์„ ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

3) ๋ผ์šฐํ„ฐ์•ˆ์— ๋ผ์šฐํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด ๊ฒฝ๋กœ๋ฅผ ๊ณ„์ธต์„ ๋‚˜๋ˆ  ์ •๋ฆฌํ•œ๋‹ค. 

//apiRouter.js

import v1Router from "./api/v1Router";
import v2Router from "./api/v2Router";

const apiRouter = express.Router();

apiRouter.get("/documentation", documController);
apiRouter.use("/v1", v1Router);
apiRouter.use("/v2", v2Router);

export default apiRouter;

โ€‹

 

์ตœ์ข… ํŽ˜์ด์ง€ ์ƒ์„ฑ

 

1. "/"

2. "/courses"

3. "/api/documentation"

4. "/api/v1"

5. "/api/v2"

โ€‹

1) index.js์—๋Š” use()๋ฅผ ํ†ตํ•ด ํฌ๊ฒŒ ๋ผ์šฐํŒ…ํ•˜๊ณ ,

2) ์„ธ๋ถ€์ ์ธ http method(get, post ... etc)๋Š” router ํด๋” ๋‚ด์— ์ƒ์„ฑํ•œ ๋ผ์šฐํŒ…๋งŒ ์ „๋‹ดํ•˜๋Š” apiRouter.js์—์„œ ์„ค์ •ํ•œ๋‹ค.

โ€‹

โ€‹

app.use("/api") + router.get("/v1") = GET /api/v1

 

๋ฐ˜์‘ํ˜•