+11

Node.js Tutorial: Phần 5: Express route

Route là một thành phần cực kỳ quan trọng của một website, nó giúp website biết được người dùng truy cập đến nơi nào của trang web, từ đó phản hồi lại một cách thích hợp. Trong ExpressJs, route được tích hợp sẵn và dễ dàng sử dụng. Bài viết này hãy cùng mình đi tìm hiểu về route trong Express nhé.

Route methods

Để sử dụng các phương thức GET, POST, PUT, DELETE trong route, bạn chỉ cần khai báo như sau:

// respond with "Hello World!" on the homepage
app.get('/', function (req, res) {  
    res.send('Hello World!');
});

// accept POST request on the homepage
app.post('/', function (req, res) {  
    res.send('Got a POST request');
});

// accept PUT request at /user
app.put('/user', function (req, res) {  
    res.send('Got a PUT request at /user');
});

// accept DELETE request at /user
app.delete('/user', function (req, res) {  
    res.send('Got a DELETE request at /user');
});

Hoặc gọn gàng hơn sẽ là:

app.route('/user')  
    .get(function (req, res) {
        res.send('Hello World!');
    })
    .post(function (req, res) {
        res.send('Got a POST request');
    })
    .put(function (req, res) {
        res.send('Got a PUT request at /user');
    })
    .delete(function (req, res) {
        res.send('Got a DELETE request at /user');
    });

Với khai báo như trên, khi truy cập vào địa chỉ localhost:3000/user bằng các phương thức GET, POST, PUT, DELETE server sẽ gửi lại một đoạn text tương ứng.

Route parameters

Ví dụ ta có đoạn code bên dưới:

// Get user's info by id
app.get('/user/:id', function(req, res) {  
    var id = req.params['id']; 
    res.send('The id is ' + id); 
});

Với khai báo bên trên khi bạn truy cập vào địa chỉ localhost:3000/user/6969 thì server sẽ trả lại bạn đoạn text: The id is 6969.

Tách route ra file riêng

Thông thường chúng ta thường tách các đoạn code route ra thành những file route riêng biệt để tiện quản lý, VD: userRouter.

  • Tạo file userRouter.js với code như sau:
module.exports = function(app) {  
    app.route('/user')
        .get(function (req, res) {
            res.send('Hello World!');
        })
        .post(function (req, res) {
            res.send('Got a POST request');
        })
        .put(function (req, res) {
            res.send('Got a PUT request at /user');
        })
        .delete(function (req, res) {
            res.send('Got a DELETE request at /user');
        });
}
  • Chỉnh file server.js lại như sau:
var express = require('express');  
var app = express();  
var userRouter = require('userRouter');  
userRouter(app);
var server = app.listen(3000, function () {
    var host = server.address().address
    var port = server.address().port
    console.log("Ung dung Node.js dang hoat dong tai dia chi: http://%s:%s", host, port)
});

Bên trên là những kiến thức cơ bản về route trong ExpressJs. Để xem chi tiết hơn các bạn có thể tham khảo link bên dưới.

Tham khảo:


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.