๐ฆ_21.12.30 TIL
21๋ 12์ 30์ผ
๐ ์ฝ๋๋ผ์ด์ธ - ์ผ๋จ ๋ง๋๋ node.js
๐ Chapter_5 Express๋ก ๊ฐ๋ฐ ํจ์จ์ฑ ๋์ด๊ธฐ(2)
๐ Routing
Routing
- ์์ฒญ์ ๋ฐ๋ผ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ ๊ฒ
- routing์ ์ถ๋ฐ์ ์ธ
app.js
ํ์ผ์์
// app.js
var indexRouter = require("./routes/index");
app.use("/", indexRouter);
// '/'๋ก ์์ฒญ์ ๋ณด๋์ ๋, ๋ผ์ฐํ
์ ํตํด์ indexRouter๋ก ์์ฒญ์ ๋๊ธฐ๊ฒ ๋ค๋ ์๋ฏธ
// index.js
var express = require("express");
var router = express.Router();
module.exports = routervar express = require("express");
var router = express.Router();
// ๋ผ์ฐํ
์ ์์์ router
// .get, .post, .put, .delete ๋ฑ http method๋ฅผ ํ์ฉํด์
// 1์ฐจ์ ์ผ๋ก method์ ๊ดํ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ค.
router.get("/", (req, res) => {
res.json({
message: "์ฑ๊ณต~",
});
});
module.exports = router;
var express = require("express");
var router = express.Router();
router.get("/main", (req, res) => {
res.json({
message: "๋ฉ์ธ๋ ์ฑ๊ณต~",
});
});
module.exports = router;
- HTTP Method๋ฅผ
POST
๋ก ์ ํํ ํ send๋ฅผ ๋๋ฅด๋ฉด
=> Not Found ํ์ธ
- ํด๋น url์ ์ ๊ทผํ์ ๋, ์ฝ๋ฐฑํจ์๋ก ๋์ค๋
request
์response
request
: ์์ฒญ์ ๋ํ ๊ฐ์ฒด. ํด๋ผ์ด์ธํธ์์ ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ์ค ๋ ์๋ฒ ์ธก์์ ์ด๋ฅผ ๋ฐ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉresponse
: ์๋ต์ ๋ํ ๊ฐ์ฒด
var express = require("express");
var router = express.Router();
router.post("/main", (req, res) => {
console.log(req.body);
});
module.exports = router;
request
๊ฐ์ฒด์body
์์ ๋ฐ์ดํฐ๊ฐ ๋ด๊ธด๋ค.
=> ์ด๋ฌํ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ ์ธก์์ ๊บผ๋ด์์ ๋ณ์๋ ์์ ์์ ์ด๊ธฐํ ์์ผ์ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ฆ
{ data: 'data1' }
- ๋ํ์ ์ธ ์ฝ๋
var express = require("express");
var router = express.Router();
router.post("/main", (req, res) => {
const data = req.body.data;
// send
res.send("๋ฌธ์์ด์ด ์๋ต๋ฉ๋๋ค!");
// json
res.json({
message: "json ์๋ต",
});
// render
res.render("index");
});
module.exports = router;
13๋ฒ
send
: ๋ฌธ์์ด์ ์๋ตํ ์ ์์ ๋ ์ฌ์ฉ
json
: json ๊ฐ์ฒด๋ฅผ ์๋ต
render
: HTML ์ฝ๋๊ฐ ๋ค์ด๊ฐ ํ ํ๋ฆฟ ํ์ผ์ ์ง์ ๋ณผ ์ ์๋ ๋ทฐ ํ์ผ๋ค์ ๋ ๋๋ง ํด์ค
=>.ejs
ํ์ฅ์๋ช ์ ์ธํ๊ณ ์์ฑ
=> HTML ์ฝ๋๋ฅผ ๋ธ๋ผ์ฐ์ ์ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์
=> postman์์ ๋ดค์ ๋ HTML ์ฝ๋๋ก ๋ณด์ด์ง๋ง Preview์์๋ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด "My first projuect"๊ฐ ๋ณด์ฌ์ง๋ค.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ฆ_21.12.30 TIL), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@qhflrnfl4324/21.12.30-TIL์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค