Express.js 미들웨어 설정 Postman으로 요청한 경우의 동작

2024. 11. 17. 19:17정보처리,전산/NODEJS

반응형
const express = require('express');
const app = express();

// 미들웨어: 모든 요청에 대해 HTTP 메서드와 URL 출력
app.use((req, res, next) => {
    console.log(`${req.method} ${req.url}`);
    next();
});

// '/' 경로에 대한 GET 요청 처리
app.get('/', (req, res) => {
    res.send('Hello, world!');
});

// 서버 시작
const PORT = 4000;
app.listen(PORT, () => {
    console.log(`Server is running on port ${PORT}`);
});

Express.js 애플리케이션 기능

  1. 미들웨어 설정 (app.use):
    • app.use((req, res, next) => {...})는 미들웨어 함수로, 모든 요청에 대해 실행된다.
    • req.method는 HTTP 요청 방식(예: GET, POST 등)을 나타내며, req.url은 요청 URL을 나타낸다.
    • console.log(${req.method} ${req.url})는 요청을 받을 때마다 요청 방식과 URL을 콘솔에 출력한다.
    • next()는 요청을 다음 미들웨어나 라우터로 전달하는 역할을 한다.
  2. 라우트 설정 (app.get('/')):
    • app.get('/', (req, res) => {...})는 클라이언트가 GET / 요청을 보냈을 때 실행되는 라우트이다.
    • 이 라우트는 클라이언트에게 'Hello, world!'라는 텍스트를 응답한다.

Postman으로 요청한 경우의 동작

  1. 요청 보내기:
    • Postman을 사용해 GET http://localhost:4000/ 요청을 보내면, 클라이언트는 서버의 GET / 라우트를 호출하게 된다.
  2. 미들웨어 실행:
    • 서버는 app.use에서 정의한 미들웨어를 먼저 실행한다.
    • 이 미들웨어는 요청의 HTTP 메서드(예: GET)와 URL을 콘솔에 출력한다. 예:
    • 그런 다음 next()가 호출되어 요청을 라우터로 전달한다.
  3. 라우트 핸들러 실행:
    • 요청이 app.get('/')에 매핑되면 'Hello, world!'를 클라이언트에게 반환한다.
    • Postman에서는 응답으로 'Hello, world!'가 표시된다.

Postman에서 확인할 수 있는 결과

  1. 콘솔 출력:
    • 서버의 콘솔에서는 요청 정보를 출력한다:
  2. Postman 응답:
    • Postman에서는 서버로부터 'Hello, world!'라는 텍스트 응답을 받는다.

요약

  • 미들웨어는 모든 요청에 대해 HTTP 메서드와 URL을 로그로 출력하고, 요청을 라우터로 전달한다.
  • Postman에서 GET / 요청을 보내면 콘솔에 GET / 로그가 출력되고, 'Hello, world!' 응답이 Postman에 표시된다.

 

 

 

 

 

 

 

반응형