express Routing처리

Calvin Park·2022년 7월 26일
0

express

목록 보기
1/3
post-custom-banner

라우팅 (Routing)

express 의 라우팅(routing)은 특정 엔드 포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 결정하는 것이다.

💡 엔드포인트 : URL(경로)와 HTTP 요청 METHOD로 구분된 클라이언트에서 서버로 요청보낼 수 있는 문어라고 보면 된다.

app.METHOD(PATH, HANDLER)

  • app:express 인스턴스
  • METHOD: HTTP 요청 메소드 (GET, POST등)
  • PATH:서버에서의 경로
  • HANDLER: 라우트(ROUTE)가 일치할 때 실행되는 함수
const express = require("express");
const app = express();
const port = 3000;

가~~~장 기본적인 라우트 예시.
app.get("/", (req, res) => {
  res.send('This is basic') //클라이언트에 This is basic 문자열 전송
});

app.post('/user', (req,res) => {
res.send("Post에 대한 요청)}) 

app.listen(port, () => {
  console.log(`서버가 실행 됩니다. http://localhost:${port}`);
});

가장 기본적인 것에서 부터 시작을 하면 HTTP 요청 메소드로 get을 사용하느냐 post를 사용하느냐에 따라 호출되는 익스프레스 라우트가 달라진다.

💡 HTTP 요청 메소드의 종류에 상관없이 하나의 익스프레스 라우트 메소드를 사용하고 싶다면 app.all() <- 라우트를 메소드를 사용하면된다.

정규식을 기반으로 하는 라우트도 가능하다

//사용자에서 요청한 라우트 경로에 'a' 가 포함되어 있는 경우
app.get(/a/, (req, res) => {
res.send('/a/');
})

//사용자에서 요청한 라우트 경로가 문자'create'로 시작하는 경우
// cerateAccount, createPost
app.get(/^create/, (req,res) => {
app.send('/^create/');

})

⭐️ 정규식으로도 표현이 가능하다.

라우트(Route) 핸들러

사용자 요청에 따라 라우트가 일치할 때 실행되는 콜백 함수이다.
req: Request (요청을 받는다)
res: Response (응답을 한다)
next: next (다음 미들웨어 함수를 가르키는 object이다)

⭐️⭐️⭐️⭐️⭐️ 하나의 라우트에서 next object를 사용해서 2개 이상의 콜백 함수를 실행할 수 있다.

app.get('/example', (req, res, next) => {
console.log('첫 번쨰 콜백 함수');
next() //그 다음 함수 호출
}, (req, res) => {
res.send('그 두번째 함수가 시작된다. ') // 사용자(클라이언트)에게 응답
})

또는 콜백 함수 배열로 라우트를 처리할 수 있다


const something0 = (req, res, next) => {
  console.log("첫번째 함수");
  next();
};

const something1 = (req, res, next) => {
  console.log("두번째 함수");
  next();
};

const something2 = (req, res, next) => {
  console.log("세번째 함수");
  next();
};

app.get("/something", [something0, something1, something2]);

기본적인 개념이다.

profile
Personal Velog Note
post-custom-banner

0개의 댓글