এক্সপ্রেস JS ব্যবহার করে সিম্পল API তৈরি

Express JS একটি ব্যাকেন্ড ফ্রেমওয়ার্ক। ব্যবহার করে খুব সহজে ওয়েব অ্যাপ এবং RESTful API তৈরি করা যায়। যেমন একটা সিম্পল GET API রুট লেখার জন্য শুধু মাত্র এই কয়টা লাইন লিখতে হয়ঃ

app.get('/hello', (req, res) => {
  res.send('Hello, World!');
});

এতই সহজ।

এক্সপ্রেস অ্যাপ তৈরি করার জন্য কম্পিউটারে Node.js ইন্সটল করা থাকতে হবে। খুব সহজে এখান থেকে Node.js ইন্সটলার ডাউনলোড করে কম্পিউটারে ইন্সটল করে নেওয়া যাবে। ঠিক মত ইন্সটল হলে টার্মিনালে গিয়ে নিচের কমান্ড দুইটা লিখবঃ

node -v 
npm -v

তাহলে Node.js এবং npm এর ভার্সন দেখাবে। সব ওকে থাকলে আমরা একটা নোড জেএস প্রজেক্ট তৈরি করার জন্য প্রস্তুত।

যে কোন একটা ডিরেক্টরি বা ফোল্ডার তৈরি করে নিব। এরপর টার্মিনাল বা কমান্ডলাইন থেকে ঐ ডিরেক্টরিতে যাবো। ঐ ডিরেক্টরিতে একটা নোড জেএস প্রজেক্ট ইনিশিয়ালাইজ করে নিব:

npm init -y

যা package.json ফাইল তৈরি করে দিবে। এই ফাইলে লেখা থাকবে এই প্রজেক্টের নাম, নোড জেএস প্রজেক্টে কি কি ফ্রেমওয়ার্ক ইউজ করব, স্টার্টিং ফাইলের নাম ইত্যাদি। আমরা যদি এই ফাইলটা কোড এডিটরে ওপেন করি, তাহলে দেখব:

{
  "name": "my-express-app",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": ""
}

এবার আমরা Express JS প্রজেক্টে যুক্ত করে নিব। তার জন্য লিখবঃ

npm install express 

যা package.json ফাইলে নিচের ডিপেন্ডেন্সি যুক্ত করবেঃ

"dependencies": {
   "express": "^4.19.2"
 }

প্রথম এক্সপ্রেস অ্যাপ তৈরি

প্রজেক্ট ফোল্ডারে index.js নামে একটা ফোল্ডার তৈরি করে নিব। টার্মিনাল থেকে নতুন ফাইল তৈরি করতে চাইলেঃ

touch index.js

প্রথম API রিকোয়েস্ট তৈরিঃ

index.js ফাইল ওপেন করে নিচের কোড লিখবঃ

const express = require('express');
const app = express();
const port = 3000;
 
// Simple route
app.get('/', (req, res) => {
  res.send('Hello, World!');
});
 
// Start the server
app.listen(port, () => {
  console.log(`App is running on http://localhost:${port}`);
});

প্রথমে const express = require(‘express’); লাইনে বলে দিয়েছে যে এই অ্যাপে express ফ্রেমওয়ার্কটা লাগবে। এরপর অ্যাপে আমরা express ফ্রেমওয়ার্ক ব্যবহার করেছি। আমরা যেহেতু একটা সার্ভার অ্যাপ তৈরি করেছি, তাই এখানে বলে দিচ্ছি কোন পোর্টে এই অ্যাপ রান হবে। এটা গুরুত্বপূর্ণ না। না বললেও হবে।

তারপর একটা সিম্পল GET রিকোয়েস্টের রুট তৈরি করেছি। যা মূলত হোমপেইজ (localhost:3000) ভিজিট করলে ‘Hello, World!’ দেখাবে।

ফাইনালি সার্ভার স্টার্ট করেছি।

এক্সপ্রেস অ্যাপ রান করা

এখন এই প্রজেক্টটা সার্ভ করার জন্য টার্মিনালে লিখবঃ

node index.js

আমরা যদি এখন ব্রাউজারে গিয়ে লিখি https://localhost:3000, তাহলে দেখব রিটার্ণ 'Hello, World!' করেছে।

সার্ভার টার্মিনেট করা

প্রজেক্টে কোন পরিবর্তন করার পর পুনরায় সার্ভার রিস্টার্ট দিতে হবে। তার জন্য প্রথমে সার্ভার টার্মিনেট করতে হবে। তা করতে পারব Ctrl + C এবং এন্টার প্রেস করে। এরপর আবার node index.js লিখে এন্টার প্রেস করলে সার্ভার চালু হবে।

এই পুরা জিনিসটা অটোম্যাট করতে পারি nodemon ব্যবহার করে। nodemon ইন্সটল করার জন্য লিখবঃ

npm install -g nodemon

এরপর nodemon ব্যবহার করে সার্ভার স্টার্ট করার জন্য কমান্ডলাইনে লিখবঃ

npx nodemon

এখন প্রজেক্টে পরিবর্তন করে সেভ করলেই সার্ভার পুনরায় রিস্টার্ট নিবে। ব্রাউজার রিফ্রেশ করলেই আউটপুট দেখতে পাবো। সুন্দর তাই না?

সিম্পল পোস্ট রিকোয়েস্ট এপিআই তৈরি

উপরে আমরা একটা GET রিকোয়েস্ট এপিআই তৈরি করেছি। এবার একটা POST রিকোয়েস্ট এপিআই তৈরি করি:

// POST route
app.post('/submit', (req, res) => {
    const { name, email } = req.body;
    // Simple response
    res.json({ message: `Hello, ${name}! Your email is ${email}.` });
});

সম্পূর্ণ index.js ফাইলঃ

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;
 
// Middleware to parse JSON bodies
app.use(bodyParser.json());
 
// Simple route
app.get('/', (req, res) => {
    res.send('Hello, World!');
});
 
// POST route
app.post('/submit', (req, res) => {
    const { name, email } = req.body;
    // Simple response
    res.json({ message: `Hello, ${name}! Your email is ${email}.` });
});
 
 
// Start the server
app.listen(port, () => {
    console.log(`App is running on http://localhost:${port}`);
});

পোস্ট রিকোয়েস্ট ব্রাউজারে দেখা যায় না। তার জন্য Postman ব্যবহার করে দেখতে পারি। স্টেপ গুলোঃ

  • পোস্টম্যানে একটা নতুন HTTP রিকোয়েস্ট তৈরি করব।
  • মেথড হিসেবে POST সিলেক্ট করব।
  • url হিসেবে লিখব http://localhost:3000/submit
  • রিকোয়েস্টের Body ট্যাব থেকে raw সিলেক্ট করব এবং ড্রপ ডাউন থেকে JSON সিলেক্ট করব। এরপর এক্সাম্পল হিসেবে নিচের ডেটা লিখবঃ
{
  "name": "John",
  "email": "[email protected]"
}

এবং ফাইনালি Send বাটনে ক্লিক করলে নিচের মত করে রেসপন্স পাবোঃ

{
    "message": "Hello, John! Your email is [email protected]."
}

দারুণ না?

1 thought on “এক্সপ্রেস JS ব্যবহার করে সিম্পল API তৈরি”

Leave a Reply