Archive

[1] express 요청,응답,미들웨어

livemehere 2022. 4. 3. 21:07

express 살펴보기

Request

import express from "express";

const app = express();

app.get("/:id/:user", (req, res, next) => {
  console.log(req.headers);
  console.log(req.path);
  console.log(req.params);
  console.log(req.query);
  res.send("done");
});

app.listen(8080);

응답에서 header 설정하기

app.get("/:id/:user", (req, res, next) => {
  res.setHeader("name2", "ha!");
  res.send("done");
});

app.use() vs app.all()

둘은 비슷하면서도 다르게동작합니다.

/api라는 경로에 대해서 동작을하는데

all같은경우 exact하게 동작합니다. 즉, 딱/api만 동작하고

use같은 경우 /api/anything 이런식으로해도 동작합니다.

app.all("/api", (req, res, next) => {
  console.log("all");
  next();
});

app.use("/api", (req, res, next) => {
  console.log("use");
  next();
});

app.all() 을 app.use()처럼 동작하게 하고싶다면

에스터리스크를 명시해주면 됩니다.

app.all("/api/*", (req, res, next) => {
  console.log("all");
  next();
});

POST 의 body 읽기

json 데이터에 한정

app.use(express.json());

app.post("/", (req, res, next) => {
  console.log(req.body);
  res.send("done");
});
반응형