टाइपस्क्रिप्ट और एक्सप्रेस के साथ REST API का निर्माण

TypeScript और Express मज़बूत REST API बनाने के लिए एक शक्तिशाली संयोजन हैं। TypeScript टाइप सुरक्षा, बेहतर टूलिंग और बेहतर विकास अनुभव प्रदान करता है, जबकि Express Node.js के लिए एक न्यूनतम वेब फ़्रेमवर्क है। यह गाइड TypeScript और Express का उपयोग करके REST API बनाने के चरणों के माध्यम से चलेगा।

परियोजना की स्थापना

प्रोजेक्ट के लिए एक नई निर्देशिका बनाकर और Node.js एप्लिकेशन को आरंभ करके प्रारंभ करें।

mkdir typescript-express-api
cd typescript-express-api
npm init -y

इसके बाद, एक्सप्रेस और टाइपस्क्रिप्ट के लिए आवश्यक निर्भरताएं स्थापित करें।

npm install express
npm install --save-dev typescript ts-node @types/node @types/express

TypeScript को कॉन्फ़िगर करने के लिए tsconfig.json फ़ाइल बनाएँ। निम्न कमांड चलाएँ:

npx tsc --init

परियोजना की आवश्यकताओं के अनुरूप tsconfig.json फ़ाइल को संशोधित करें, "strict", "esModuleInterop" जैसे विकल्पों को सक्षम करें, और आउटपुट निर्देशिका को "dist" पर सेट करें।

एक्सप्रेस सर्वर बनाना

src नाम से एक नया फ़ोल्डर बनाएँ और उसके अंदर, index.ts नाम की एक फ़ाइल बनाएँ। यह फ़ाइल एक्सप्रेस सर्वर के लिए प्रवेश बिंदु के रूप में काम करेगी।

import express, { Request, Response } from 'express';

const app = express();
const PORT = process.env.PORT || 3000;

app.use(express.json());

app.get('/', (req: Request, res: Response) => {
  res.send('Hello, TypeScript and Express!');
});

app.listen(PORT, () => {
  console.log(`Server is running on http://localhost:${PORT}`);
});

सर्वर चलाने के लिए निम्नलिखित कमांड का उपयोग करें:

npx ts-node src/index.ts

API रूट परिभाषित करना

src के अंदर routes नाम से एक नया फ़ोल्डर बनाएँ। इस फ़ोल्डर में, उपयोगकर्ता-संबंधित अनुरोधों को संभालने के लिए रूट निर्धारित करने के लिए userRoutes.ts नाम की एक फ़ाइल बनाएँ।

import { Router, Request, Response } from 'express';

const router = Router();

router.get('/users', (req: Request, res: Response) => {
  res.json({ message: 'Get all users' });
});

router.post('/users', (req: Request, res: Response) => {
  const user = req.body;
  res.json({ message: 'User created', user });
});

export default router;

index.ts फ़ाइल में, userRoutes को आयात करें और उन्हें अनुप्रयोग में उपयोग करें।

import userRoutes from './routes/userRoutes';

app.use('/api', userRoutes);

नियंत्रक और सेवा परत बनाना

कंट्रोलर और सेवाओं के लिए अलग-अलग परतें बनाकर कोड को व्यवस्थित करें। src के अंदर दो नए फ़ोल्डर बनाएँ: controllers और services

controllers फ़ोल्डर में, userController.ts नामक फ़ाइल बनाएँ।

import { Request, Response } from 'express';
import { getAllUsers, createUser } from '../services/userService';

export const getUsers = (req: Request, res: Response) => {
  const users = getAllUsers();
  res.json(users);
};

export const addUser = (req: Request, res: Response) => {
  const newUser = req.body;
  const user = createUser(newUser);
  res.json(user);
};

services फ़ोल्डर में, userService.ts नामक फ़ाइल बनाएँ।

interface User {
  id: number;
  name: string;
}

let users: User[] = [];

export const getAllUsers = (): User[] => {
  return users;
};

export const createUser = (user: User): User => {
  users.push(user);
  return user;
};

इन नियंत्रकों का उपयोग करने के लिए userRoutes.ts को अपडेट करें:

import { Router } from 'express';
import { getUsers, addUser } from '../controllers/userController';

const router = Router();

router.get('/users', getUsers);
router.post('/users', addUser);

export default router;

REST API का परीक्षण

REST API का परीक्षण करने के लिए, एंडपॉइंट पर अनुरोध भेजने के लिए Postman या curl जैसे टूल का उपयोग करें। सर्वर शुरू करें और JSON पेलोड के साथ /api/users पर GET अनुरोध और /api/users पर POST अनुरोध करें।

निष्कर्ष

इन चरणों का पालन करके, TypeScript और Express का उपयोग करके REST API बनाया जा सकता है। TypeScript टाइप सुरक्षा और बेहतर विकास अनुभव प्रदान करता है, जबकि Express RESTful सेवाओं के निर्माण के लिए एक सरल और शक्तिशाली ढांचा प्रदान करता है। सत्यापन, त्रुटि प्रबंधन और अधिक जटिल व्यावसायिक तर्क जोड़कर इस सेटअप को और बेहतर बनाया जा सकता है।

लिंक
TypeScript