Do it Node.js express를 이용하여 서버 만들기 5편 Route 기능 사용하기

2018. 3. 16. 16:09javascript/node.js

요청 라우팅하기



요청된 url의 path에 맞게 라우팅해주기 위해서 익스프레스의 route객체를 만들어 주어야한다.



html 요청 path



var http = require('http'), express = require('express'),path = require('path');
var static = require('serve-static'), bodyParser = require('body-parser');
var app = express(), router = express.Router();

app.use('/',static(path.join(__dirname,'public')))
app.use(bodyParser.urlencoded({extended:false}))
app.use(bodyParser.json())
app.use('/',router)
http.createServer(app).listen(3000,function () {
    console.log('3000에 연결되었습니다.');
})

router.route('/login').post(function (req, res) {
    console.log("로그인")
    var paramId = req.body.id || req.query.id;
    var paramPw = req.body.pw || req.query.pw;
    res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
    res.write('

express.Router 사용

') res.write('id: '+paramId+'') res.write('pw: '+paramPw+'') res.end() })


위의 코드를 보면 express.Router()를 통해 Router객체를 만들고 있다. Router를 만든 후 반드시 app.use를 사용해서 등록해주어야 한다. Route기능은 생각보다 단순하다. router객체.route('path 경로').요청타입(콜백 함수) 순서로 사용해주면 된다. 요청타입에는 무엇이 있나 확인 해보자!!



get(callback)GET 방식으로 특정 패스 요청이 발생했을 때 사용할 콜백 함수를 지정합니다.
post(callback)POST 방식으로 특정 패스 요청이 발생했을 때 사용할 콜백 함수를 지정합니다.
put(callbackput 방식으로 특정패스 요청 ""
delete(callback)DELETE 방식으로 특정패스 요청""
all(callback)모든 요청 방식을 처리하며, 특정 패스 요청이 발생했을 때 콜백함수를 지정합니다.


url 파라미터를 받아오기



router.route('/login/:name').post(function (req, res) {
    console.log("로그인")
    
    var paramId = req.body.id || req.query.id;
    var paramPw = req.body.pw || req.query.pw;
    var name = req.params.name;
res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
    res.write('

express.Router 사용

') res.write('name: '+name+'') res.write('id: '+paramId+'') res.write('pw: '+paramPw+'') res.end() })