Routing dan middleware merupakan dua konsep penting dalam Node.js dan Express framework untuk membangun aplikasi web.
Routing:
- Routing adalah proses menentukan bagaimana menangani permintaan dari klien dan merespons dengan sumber daya yang sesuai di server.
- Di Express, kita dapat menentukan rute dengan menentukan metode HTTP(GET, POST, PUT, DELETE, dll.) dan jalur URL yang sesuai.
- Setiap rute dapat memiliki satu atau lebih fungsi penangan untuk melakukan tugas-tugas seperti pemrosesan permintaan, akses basis data, dan pengiriman respons ke klien.
Middleware:
- Middleware adalah fungsi yang dijalankan secara berurutan sebelum permintaan mencapai penangan rute akhir.
- Mereka digunakan untuk melakukan fungsi umum dan menangani tugas perantara seperti otentikasi, logging, penanganan kesalahan, dll.
- Middleware dapat diterapkan ke seluruh aplikasi atau ditentukan untuk rute tertentu.
- Masing-masing middleware menerima parameter req(request) dan res(response) dan dapat melakukan pemrosesan, meneruskan permintaan ke next middleware, atau mengakhiri pemrosesan dengan mengirimkan respons ke klien.
Contoh menggabungkan Routing dan Middleware di Express:
const express = require('express');
const app = express();
// Middleware
const loggerMiddleware =(req, res, next) => {
console.log('A new request has arrived!');
next();
};
// Apply middleware to the entire application
app.use(loggerMiddleware);
// Main route
app.get('/',(req, res) => {
res.send('Welcome to the homepage!');
});
// Another route
app.get('/about',(req, res) => {
res.send('This is the about page!');
});
// Start the server
app.listen(3000,() => {
console.log('Server is listening on port 3000...');
});
Dalam contoh ini, kami telah menetapkan kebiasaan untuk mencatat setiap permintaan baru yang masuk ke server. Ini diterapkan ke seluruh aplikasi menggunakan metode ini. Kemudian, kami telah menetapkan dua rute, satu untuk halaman utama( ) dan satu lagi untuk halaman tentang( ). Terakhir, kami memulai server dan mendengarkan di port 3000. middleware loggerMiddleware
middleware app.use()
'/'
'/about'
Itu akan dieksekusi untuk setiap permintaan, mencatat pesan ke konsol sebelum meneruskan permintaan ke penangan rute yang sesuai atau dalam urutan. middleware loggerMiddleware
middleware
Kombinasi dari routing dan middleware memungkinkan kami untuk menangani permintaan yang berbeda dan melakukan tugas umum secara efisien dalam suatu Express aplikasi.