Node.js - router 매개변수와 req,res 객체

ryan·2022년 5월 17일
0

학습자료 : 인프런 Node.js 교과서

route 매개변수

  • :id를 넣으면 req.params.id로 받을 수 있다.
  • 동적으로 변하는 부분 라우트 매개변수로 만듦
router.get('/user/:id',function(req,res){
    console.log(req:params,req.query);
});
  • 일반 라우터보다 뒤에 위치해야된다.
router.get('/user/:id',function(req,res){
    console.log('이 라우터만 실행됨')
})
router.get('/user/like',function(req,res)=>{
    console.log('실행안됨')
})
  • /user/123?limit=5&skip=10 주소 요청과 같이 쿼리스트링이 붙는 경우
    req.query로 받을 수 있다.

요청과 일치하는 라우터가 없는 경우를 대비하여 404라우터를 생성해놓으면 좋음

app.ues((req,res,next)=>{
    res.status(404).send('Not found')
})

router 그룹화하기

  • 주소가 같은데 메서드가 다른 경우
router.get('/abc',(req,res)=>{
    res.send('GET /abc')
})
router.post('/abc',(req,res)=>{
    res.send('POST /abc')
})

// router.route로 묶을 수 있다.
router.route('/abc')
    .get((req,res)=>{
        res.send('GET/abc')
    })
    .post((req,res)=>{
        res.send('POST /abc')
    })

req 객체

  • req.app : app객체에 접근할 수 있음. req.app.get('port')와 같이 사용 가능
  • req.body : body-parser 미들웨어가 만드는 요청의 본문을 해석
  • req.cookies: cookie-parser 미들웨어가 만드는 요청의 쿠키를 해석한 객체
  • req.ip : 요청의 ip주소가 담겨있음
  • req.params : 라우트 매개변수에 대한 정보가 담긴 객체
  • req.query : 쿼리스트링에 대한 정보가 담긴 객체
  • req.signedCookies : 서명된 쿠키들은 req.cookies 대신 여기에 담겨있음
  • req.get(헤더이름) : 헤더의 값을 가져오고 싶을 때 사용

res 객체

  • res.app : app객체에 접근할 수 있음
  • res.cookie(키,값,옵션) : 쿠키를 설정하는 메서드
  • res.clearCookie(키, 값, 옵션) : 쿠키를 제거하는 메서드
  • res.end() : 데이터없이 응답을 보냄
  • res.json(JSON) : JSON 형식의 응답을 보냅니다.
  • res.redirect(주소) : 리다이렉트할 주소와 함께 응답을 보냅니다
  • res.render(뷰, 데이터) : 템플릿 엔진을 렌더링해서 응답할 때 사용
  • res.send(데이터) : 데이터와 함께 응답을 보냄.
  • res.sendFile(경로) : 경로에 위치한 파일을 응답함
  • res.set(헤더, 값) 또는 res.setHeader(헤더, 값) : 응답의 헤더를 설정함.
  • res.status(코드) : 응답 시의 HTTP 상태 코드를 지정
profile
프론트엔드 개발자

0개의 댓글