7주차 - Express 라우팅 이해하기

시유야·2023년 4월 12일
0

라우팅

http Request를 처리할 때, URL경로를 분석해서 어떤 코드(함수 또는 View)를 실행할지 결정하는 과정

Express.js가 제공하는 라우팅 방식

1) app 라우팅

app.get('/', (req,res) => { 
res.send('GET /'); });

app객체에 직접
get
post
put
delete
함수를 사용하여 http method로 라우팅할 수 있다.
app.all 은 http method에 상관없이 라우팅 가능하다.

app라우팅 은 그룹화를 지원하지 않는다.
express.Router를 통해 라우팅을 모듈화 할 수 있다.

2) Express.Router

const express = require('express');
const router = express.Router();

router.get('/', (req, res, next) => {
  res.send('respond with a resource');
});

module.exports = router;

router객체도
get
post
put
delete
함수를 사용해서
일반적으로 모듈로 만들어서 사용한다.

라우팅에 path parameter 사용하기

path parameter 를 사용하면, 주소의 일부를 변수처럼 사용할 수 있다.

Request Handler

라우팅에 적용이 되는 함수를 request handler라고 부른다. 설정된 라우팅 경로에 해당하는 요청이 들어오면 request handler함수가 실행된다.
요청을 확인하고 응답을 보내는 역할을 담당!

request 객체

http 요청 정보를 가진 객체
path marameter, query parameter, body, header등을 확인 가능하다.

  • req.params : URL 표현 중 /path/:id에서 :id를 req.params.id로 사용가능
  • req.queries : URL 표현 중 /path/?page=2 에서 page 부분을 req.queries.page로 사용가능
  • req.body : 일반적으로 POST요청의 요청 데이터를 담고 있음
    req.body에 요청 데이가 저장되어 들어옴
  • req.get(' ') : http request의 헤더 값 가져옴.

response객체

http 응답을 처리하는 객체
http 응답의 데이터를 전송하거나, 응답 상태 및 헤더를 설정
res.send() : text형식의 http응답 전송
res.json() : json형식의 http응답 전송
res.render() : html template을 사요하여 화면 전송
res.set() : http 응답의 헤더를 설정
res.status() : http 응답의 상태 값을 설정

profile
i'm happy enough.

0개의 댓글