01.09.월(req,res)

유희선·2023년 1월 8일
0

TIL

목록 보기
22/29

1. 정의
1) req

-클라이언트가 서버에게 전달하려는 정보나 메세지를 담는 객체
2) res
-서버에서 클라언트로 응답 메시지를 전송시켜주는 객체


2. 서버모듈
1) Express 모듈
-http 모듈을 확장하여 제공
2) HTTP 모듈


3. Express 모듈의 req,res 객체

1) req 객체

  • req.app : req 객체를 통해 app 객체에 접근할 수 있습니다.
  • req.ip: 요청한 Client의 ip 주소가 담겨 있습니다.
  • req.body: Request를 호출할 때 body로 전달된 정보가 담긴 객체입니다.
    • express.json() Middleware를 이용하여야 해당 객체를 사용할 수 있습니다.
  • req.params: 라우터 매개 변수에 대한 정보가 담긴 객체입니다.
  • req.query: Request를 호출할 때 쿼리 스트링으로 전달된 정보가 담긴 객체입니다.
  • req.cookies: Request를 호출할 때 Cookie 정보가 담긴 객체입니다.
    • cookie-parser Middleware를 이용하여야 해당 객체를 사용할 수 있습니다.
  • req.get(Header): 헤더에 저장된 값을 가져오고 싶을 때 사용합니다.

2) res 객체

  • res.app : res 객체를 통해 app 객체에 접근할 수 있습니다.
  • res.status(코드) : Response에 HTTP 상태 코드를 지정합니다.
    Http 상태 코드에 대해 자세히 알고싶다면 여기를 클릭해주세요!
  • res.send(데이터) : 데이터를 포함하여 Response를 전달합니다.
  • res.json(JSON) : JSON 형식으로 Response를 전달합니다.
  • res.end() : 데이터 없이 Response를 전달합니다.
  • res.direct(주소) : 리다이렉트할 주소와 함께 Response를 전달합니다.
  • res.cookie(Key, Value, Option) : 쿠키를 설정할 때 사용합니다.
  • res.clearCookie(Key, Value, Option) : 쿠키를 제거할 때 사용합니다.

+req.params 추가설명

app.use(express.json());

app.get("/:id", (req, res) => {
  console.log(req.params);

  res.send(":id URI가 정상적으로 반환되었습니다.");
});


=> GET 또는 POST 요청을 통해
컨트롤러에 전달되는 매개 변수를 나타냄
-GET 요청에서 매개 변수는
사용자 브라우저의 URL에서 컨트롤러로 전달


+req.query 추가설명

app.get("/", (req, res) => {
  console.log(req.query);

  res.send(obj);
});


=> Body에 key:value 값을 입력 후,
console 창, 웹 페이지 둘 다 정보를 확인할 수 있음

+추가 사항

app.get("/", (req, res) => {
  console.log(req.query);

  const obj = {
    key: "vlaue입니다",
    name: "??",
  };

  res.send(obj);
});

//출력값 : {}
=> query값에 입력된 정보가 없기 때문에
{}와 같이 아무 값도 출력되지 않음

0개의 댓글