રાઉટીંગ અને મિડલવેર એ Node.js અને વેબ એપ્લિકેશન બનાવવા માટે એક્સપ્રેસ ફ્રેમવર્કમાં બે મહત્વપૂર્ણ ખ્યાલો છે.
રૂટીંગ:
- રાઉટીંગ એ ક્લાયંટની વિનંતીઓને કેવી રીતે હેન્ડલ કરવી અને સર્વર પર અનુરૂપ સંસાધનો સાથે પ્રતિસાદ આપવો તે નક્કી કરવાની પ્રક્રિયા છે.
- એક્સપ્રેસમાં, અમે HTTP પદ્ધતિ (GET, POST, PUT, DELETE, વગેરે) અને અનુરૂપ URL પાથનો ઉલ્લેખ કરીને રૂટ્સને વ્યાખ્યાયિત કરી શકીએ છીએ.
- વિનંતી પ્રક્રિયા, ડેટાબેઝ ઍક્સેસ અને ક્લાયન્ટને પ્રતિસાદ મોકલવા જેવા કાર્યો કરવા માટે દરેક રૂટમાં એક અથવા વધુ હેન્ડલર ફંક્શન્સ હોઈ શકે છે.
મિડલવેર:
- મિડલવેર એ ફંક્શન્સ છે જે વિનંતી અંતિમ રૂટ હેન્ડલર સુધી પહોંચે તે પહેલાં એક ક્રમમાં ચલાવવામાં આવે છે.
- તેનો ઉપયોગ સામાન્ય કાર્યક્ષમતા કરવા અને મધ્યવર્તી કાર્યો જેમ કે પ્રમાણીકરણ, લોગીંગ, એરર હેન્ડલિંગ વગેરે માટે થાય છે.
- મિડલવેર સમગ્ર એપ્લિકેશન પર લાગુ કરી શકાય છે અથવા ચોક્કસ રૂટ્સ માટે ઉલ્લેખિત કરી શકાય છે.
- દરેક મિડલવેરને વિનંતી (વિનંતી) અને res (પ્રતિસાદ) પરિમાણો પ્રાપ્ત થાય છે અને તે પ્રોસેસિંગ કરી શકે છે, આગામી મિડલવેરને વિનંતી પસાર કરી શકે છે અથવા ક્લાયન્ટને પ્રતિસાદ મોકલીને પ્રક્રિયાને સમાપ્ત કરી શકે છે.
એક્સપ્રેસમાં રૂટીંગ અને મિડલવેરનું સંયોજન:
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...');
});
આ ઉદાહરણમાં, loggerMiddlewareસર્વર પર આવતી દરેક નવી વિનંતીને લોગ કરવા માટે અમે કસ્ટમ મિડલવેરને વ્યાખ્યાયિત કર્યું છે. આ મિડલવેર પદ્ધતિનો ઉપયોગ કરીને સમગ્ર એપ્લિકેશન પર લાગુ થાય છે app.use(). પછી, અમે બે રૂટ વ્યાખ્યાયિત કર્યા છે, એક મુખ્ય પૃષ્ઠ ( '/') માટે અને બીજો લગભગ પૃષ્ઠ ( '/about') માટે. અંતે, અમે સર્વર શરૂ કરીએ છીએ અને પોર્ટ 3000 પર સાંભળીએ છીએ.
મિડલવેર loggerMiddlewareદરેક વિનંતી માટે એક્ઝિક્યુટ કરવામાં આવશે, અનુરૂપ રૂટ હેન્ડલર અથવા ક્રમમાં મિડલવેરને વિનંતી પસાર કરતા પહેલા કન્સોલ પર સંદેશ લોગ કરીને.
રૂટીંગ અને મિડલવેરનું આ સંયોજન અમને એક્સપ્રેસ એપ્લિકેશનમાં વિવિધ વિનંતીઓને હેન્ડલ કરવા અને સામાન્ય કાર્યોને અસરકારક રીતે કરવા દે છે.