راهنمای جامع REST API با مثال واقعی در Node.js و Express
REST API یکی از مهمترین مفاهیم در توسعه وب مدرن است و تقریباً تمام وباپلیکیشنها و اپلیکیشنهای موبایل برای ارتباط بین کلاینت و سرور از API استفاده میکنند. در این مقاله REST API را بهصورت کامل، کاربردی و با یک مثال واقعی در Node.js و Express بررسی میکنیم تا بتوانید APIهای استاندارد و قابل توسعه طراحی کنید.
REST API چیست؟
REST مخفف Representational State Transfer است و یک سبک معماری برای طراحی سرویسهای وب محسوب میشود. در REST API، دادهها معمولاً از طریق پروتکل HTTP و در قالب JSON بین کلاینت و سرور رد و بدل میشوند. هر درخواست نمایانگر یک عملیات مشخص روی منبع (Resource) است.
اصول اصلی REST
- استفاده از URL برای نمایش منابع
- استفاده از متدهای HTTP برای عملیات مختلف
- بدون وضعیت بودن (Stateless)
- استفاده از فرمتهای استاندارد مانند JSON
متدهای HTTP در REST API
در REST API هر عملیات با یک متد HTTP مشخص میشود:
- GET: دریافت اطلاعات
- POST: ایجاد داده جدید
- PUT / PATCH: ویرایش داده
- DELETE: حذف داده
چرا Node.js و Express برای ساخت API مناسب هستند؟
Node.js به دلیل سرعت بالا و معماری غیرمسدودکننده، انتخاب بسیار محبوبی برای ساخت API است. فریمورک Express نیز با سادگی و انعطافپذیری بالا، فرآیند ساخت REST API را بسیار سریع و قابل مدیریت میکند.
اگر قصد دارید بکاند را اصولی یاد بگیرید، دورههای آموزش Node.js و آموزش Express بهشدت پیشنهاد میشوند.
راهاندازی پروژه Node.js و Express
ابتدا یک پوشه پروژه ایجاد کرده و دستورات زیر را اجرا کنید:
npm init -y
npm install express
سپس یک فایل به نام index.js ایجاد میکنیم.
ساخت سرور ساده با Express
const express = require("express");
const app = express();
app.use(express.json());
app.listen(3000, () => {
console.log("Server is running on port 3000");
});
با این کد یک سرور ساده روی پورت 3000 اجرا میشود.
طراحی یک REST API واقعی
فرض میکنیم میخواهیم یک API ساده برای مدیریت کاربران بسازیم.
دریافت لیست کاربران (GET)
app.get("/users", (req, res) => {
res.json([
{ id: 1, name: "Ali" },
{ id: 2, name: "Sara" }
]);
});
ایجاد کاربر جدید (POST)
app.post("/users", (req, res) => {
const user = req.body;
res.status(201).json(user);
});
ویرایش کاربر (PUT)
app.put("/users/:id", (req, res) => {
const id = req.params.id;
res.json({ message: "User updated", id });
});
حذف کاربر (DELETE)
app.delete("/users/:id", (req, res) => {
const id = req.params.id;
res.json({ message: "User deleted", id });
});
کدهای وضعیت HTTP (Status Codes)
استفاده صحیح از Status Codeها باعث استاندارد شدن API میشود. برخی از مهمترین آنها عبارتند از:
- 200: درخواست موفق
- 201: ایجاد موفق داده
- 400: درخواست نامعتبر
- 404: منبع پیدا نشد
- 500: خطای سرور
نکات مهم برای طراحی REST API حرفهای
- نامگذاری صحیح URLها
- استفاده از متد HTTP مناسب
- مدیریت خطاها
- اعتبارسنجی ورودیها
- نسخهبندی API
قدم بعدی پس از REST API چیست؟
بعد از تسلط بر REST API میتوانید سراغ احراز هویت (JWT)، اتصال به دیتابیس، Middlewareها و معماریهای پیشرفتهتر بروید. این مهارتها نقش کلیدی در ورود به بازار کار بکاند دارند.
جمعبندی
REST API ستون فقرات ارتباط در وب مدرن است. با یادگیری اصول REST و پیادهسازی عملی آن در Node.js و Express، میتوانید APIهای استاندارد، امن و مقیاسپذیر بسازید و به یک توسعهدهنده بکاند حرفهای تبدیل شوید.



دیدگاه و پرسش