Node.JS_ route

JOO·2021년 11월 20일
0

node.js

목록 보기
4/15

Node.JS_ route

라우팅은 URI 밑 특정한 HTTP 요청 메소드(GET, POST등)인 특정 엔드포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 결정하는 것을 말함.

1. 간단한 라우터 구조

app.METHOD(PATH, HANDLER)

하나 이상의 HANDLER를 가질 수 있음

간단한 예제들

 //GET 요청에 대한 응답
app.get('/', function (req, res) {
 res.send('Hello World!');
});
 
 //POST 요청에 대한 응답
app.post('/', function (req, res) {
 res.send('Got a POST request');
});
 
//PUT 요청에 대한 응답
app.put('/user', function (req, res) {
 res.send('Got a PUT request at /user');
});

//DELETE 요청에 대한 응답
app.delete('/user', function (req, res) {
 res.send('Got a PUT request at /user');
});

PATH에는 정규식도 가능


2. 라우트 핸들러 (HANDLER)

 // function(){} 부분이 HANDLER
app.get('/example/a', function (req, res) {
 res.send('Hello from A!');
});
 
 
 // 2개 이상의 HANDLER.
 // 반드시 next를 통해 넘겨줘야함. 
app.get('/example/b', function (req, res, next) {
 console.log('the response will be sent by the next function ...');
 next();
}, function (req, res) {
 res.send('Hello from B!');
});  

HANDLER는 미들웨어임. 조건문으로 원하는 조건의 HANDLER만 작동되게 할 수 있음.


3. express.Router

 // app.js 상단에 추가
conset birds = require('./birds');
...
app.use('/birds', birds);
 
 
 // birds.js라는 router파일에 작성할 코드 
const express = require('express');
const router = express.Router();

// middleware that is specific to this router
router.use(function timeLog(req, res, next) {
 console.log('Time: ', Date.now());
 next();
});
// define the home page route
router.get('/', function(req, res) {
 res.send('Birds home page');
});
// define the about route
router.get('/about', function(req, res) {
 res.send('About birds');
});

module.exports = router; 
profile
개발공부 기록

0개의 댓글

관련 채용 정보