परिचय: REST API के लिए TypeScript क्यों?
आधुनिक वेब डेवलपमेंट स्पष्ट और स्केलेबल API के बिना अकल्पनीय है। TypeScript, JavaScript पर एक सख्ती से टाइप की गई परत होने के नाते, रनटाइम त्रुटियों की न्यूनतम संख्या के साथ विश्वसनीय REST API बनाने की अनुमति देता है। इस लेख में हम व्यावहारिक रूप से, कदम दर कदम, लोकप्रिय Express फ्रेमवर्क का उपयोग करके TypeScript में एक पूर्ण REST API बनाएंगे। पूरी प्रक्रिया में आपको 30 मिनट से अधिक नहीं लगेगा, और परिणाम वास्तविक परियोजनाओं में उपयोग के लिए तैयार होगा।
हम कवर करेंगे: प्रोजेक्ट इनिशियलाइज़ेशन, TypeScript कॉन्फ़िगरेशन, रूट्स बनाना, middleware के साथ काम करना, त्रुटि प्रबंधन और एंडपॉइंट का परीक्षण। सभी कोड उदाहरण आप तुरंत चला सकते हैं और अपने कार्यों के अनुसार अनुकूलित कर सकते हैं।
चरण 1: प्रोजेक्ट इनिशियलाइज़ेशन और डिपेंडेंसी इंस्टॉल करना
सबसे पहले प्रोजेक्ट के लिए एक नई डायरेक्टरी बनाएं और इसे इनिशियलाइज़ करें। टर्मिनल खोलें और निष्पादित करें:
mkdir my-ts-apicd my-ts-apinpm init -yअब आवश्यक पैकेज इंस्टॉल करें:
npm install expressnpm install -D typescript @types/node @types/express ts-node nodemonTypeScript कॉन्फ़िगरेशन फ़ाइल बनाएं:
npx tsc --inittsconfig.json को संपादित करें, निम्नलिखित विकल्प शामिल करें:
{ "compilerOptions": { "target": "ES2020", "module": "commonjs", "outDir": "./dist", "rootDir": "./src", "strict": true, "esModuleInterop": true, "skipLibCheck": true }}package.json में स्क्रिप्ट जोड़ें:
"scripts": { "build": "tsc", "start": "node dist/index.js", "dev": "nodemon --exec ts-node src/index.ts"}चरण 2: बुनियादी संरचना और पहला एंडपॉइंट बनाना
src फ़ोल्डर बनाएं और उसके अंदर index.ts फ़ाइल बनाएं। एक सरल सर्वर से शुरू करें जो GET अनुरोधों का जवाब देगा:
import express, { Request, Response } from 'express';
const app = express();const PORT = process.env.PORT || 3000;
// JSON पार्स करने के लिए Middlewareapp.use(express.json());
// बेसिक रूटapp.get('/', (req: Request, res: Response) => { res.send('REST API on TypeScript is working!');});
app.listen(PORT, () => { console.log(`Server running at http://localhost:${PORT}`);});npm run dev कमांड से सर्वर चलाएं और http://localhost:3000 खोलें। आप एक स्वागत संदेश देखेंगे।
डेटा मॉडल बनाना
पूर्ण API के लिए हमें एक एंटिटी चाहिए। एक सरल उपयोगकर्ता मॉडल बनाएं:
// src/models/user.tsexport interface User { id: number; name: string; email: string; age: number;}
export type CreateUserDto = Omit; चरण 3: CRUD ऑपरेशन्स को लागू करना
अब उपयोगकर्ताओं के साथ काम करने के लिए एक कंट्रोलर और रूट्स बनाएं। src/routes/users.ts फ़ाइल बनाएं:
import { Router, Request, Response } from 'express';import { User, CreateUserDto } from '../models/user';
const router = Router();let users: User[] = [ { id: 1, name: 'Ivan', email: 'ivan@example.com', age: 28 }, { id: 2, name: 'Maria', email: 'maria@example.com', age: 32 }];let nextId = 3;
// GET /users - सभी उपयोगकर्ता प्राप्त करेंrouter.get('/', (req: Request, res: Response) => { res.json(users);});
// GET /users/:id - ID द्वारा उपयोगकर्ता प्राप्त करेंrouter.get('/:id', (req: Request, res: Response) => { const id = parseInt(req.params.id); const user = users.find(u => u.id === id); if (!user) { return res.status(404).json({ message: 'User not found' }); } res.json(user);});
// POST /users - एक नया उपयोगकर्ता बनाएंrouter.post('/', (req: Request, res: Response) => { const { name, email, age }: CreateUserDto = req.body; if (!name || !email || !age) { return res.status(400).js