Resep MEAN

Express Routing

Contoh-contoh metode routing dengan Express berikut ini hanya akan menampilkan pesan teks saja - metode send, bukan sendFile - supaya simpel.

Basic Routing

var express = require('express'),
    app = express();

app.get('/', function(req,res){
    res.send('Ini homepage!')
    console.log('Menyajikan homepage...');
});

app.listen(1337);

console.log('App disajikan di port 1337...');

Contoh script basic routing bisa diunduh disini - ingat untuk mengubah nama file menjadi index.js!

Metode express.Router()

// express.Router()
var adminRouter = express.Router();

// dasbor admin -> :1337/admin
adminRouter.get('/', function(req,res){
    res.send('Ini dasbor admin!');
    console.log('Menyajikan dasbor admin...')
});

// laman users -> :1337/admin/users
adminRouter.get('/users', function(req,res){
    res.send('Ini laman all users!');
    console.log('Menyajikan laman all users...')
});

// laman posts -> :1337/admin/posts
adminRouter.get('/posts', function(req,res){
    res.send('Ini laman all posts!');
    console.log('Menyajikan laman all posts...')
});

// menerapkan semua routes di bawah "/admin"
app.use('/admin', adminRouter);

console.log('Dasbor admin, laman users dan posts dapat diakses!');

Contoh script metode express.Router() bisa diunduh disini - ingat untuk mengubah nama file menjadi index.js!

Middleware - router.use()

Dinyatakan setelah var adminRouter dan sebelum adminRouter.get

// Middleware - router.use()
adminRouter.use(function(req,res,next){
    console.log('Request log: ' + req.method,req.url);
    next();
});

Contoh script middleware bisa diunduh disini - ingat untuk mengubah nama file menjadi index.js!

Router dengan parameter :namaUser

Dinyatakan sesudah adminRouter.get('/user', ... )

// Router dengan parameter :namaUser
adminRouter.get('/users/:namaUser', function(req,res){
    res.send('Hai, ' + req.params.namaUser + '!');
    console.log ('Menyajikan laman user/' + req.params.namaUser + '...')
});

Contoh script router dengan parameter bisa diunduh disini - ingat untuk mengubah nama file menjadi index.js!

Middleware untuk router dengan parameter :namaUser

Dinyatakan sesudah adminRouter.get('/user', ... )

// Middleware untuk validasi parameter :namaUser
adminRouter.param('namaUser', function(req,res,next,namaUser){

    // script validasi
    // masukkan script validasi disini

    // log validasi
    console.log('Menjalankan validasi untuk ' + namaUser + '...');

    // setelah lolos validasi, simpan item baru ke req
    req.namaUser = namaUser;

    // lanjut ke router dengan parameter :namaUser
    next;
});

// Router dengan parameter :namaUser - /admin/validuser/:namaUser
adminRouter.get('/validUser/:namaUser', function(req,res){
    res.send('Hai, ' + req.namaUser + '!');
    console.log ('Menyajikan laman validUser/' + req.namaUser + '...')
});

Contoh script router dengan parameter middleware bisa diunduh disini - ingat untuk mengubah nama file menjadi index.js!

Metode app.route()

// Login Route
app.route('/login')

// form login
.get(function(req,res){
    console.log('Menyajikan laman form login...')
    res.send('Ini adalah form login!');
})

// memproses form
.post(function(req,res){
    console.log('Sedang memproses form...');
    res.send('Sedang memproses form!');
})

Contoh script metode app.route() bisa diunduh disini - ingat untuk mengubah nama file menjadi index.js!