ابني API في Next.js بسهولة وسرعة

x32x01
  • بواسطة x32x01 ||
لو شغال على مشروع Next.js ومحتاج API، غالبًا هتفكر إنك محتاج تبني سيرفر خارجي بـ Express أو أي framework تاني 😅. لكن الموضوع أسهل بكتير! Next.js فيه ميزة اسمها API Routes بتخليك تعمل API جوه المشروع بتاعك من غير ما تحتاج سيرفر خارجي، وسريعة وكفائتها عالية ⚡.

إيه هي API Routes؟​

ببساطة، API Routes هي صفحات جوه مشروعك بترد على الـ Requests اللي بتيجي لها زي GET أو POST. يعني بدل ما تعمل سيرفر مستقل، تقدر تعمل كل ده جوه مشروع Next.js بسهولة 👌.

أول خطوة: إنشاء ملف الـ API​

تروح عند مجلد pages/ وتعمل مجلد جديد اسمه api/. ده المكان اللي هتحط فيه كل الـ API Endpoints بتاعتك.

مثال لو عايز تعمل API يجيب بيانات مستخدم:
JavaScript:
// pages/api/user.js
export default function handler(req, res) {
res.status(200).json({ name: 'Ahmed', age: 30 });
}

لو فتحت /api/user في المتصفح، الرد هيكون كده:
Code:
{
"name": "Ahmed",
"age": 30
}
أبسط من كده مستحيل 😎

التعامل مع POST Request​

تقدر تتعامل مع أي نوع من الـ HTTP Methods. لو عايز تعمل API يقبل بيانات باستخدام POST:
JavaScript:
// pages/api/user.js
export default function handler(req, res) {
if (req.method === 'POST') {
const { name, age } = req.body;
res.status(200).json({ message: `استقبلنا بياناتك: ${name}, ${age}` });
} else {
res.status(405).json({ message: 'Method not allowed' });
}
}
في المثال دا، بنستقبل بيانات جديدة بالـ POST، ولو حد جرب يبعت Method تانية بيرجعله error ⚠️.

الميزات الإضافية للـ API Routes​

ممكن تستخدم Middlewares قبل ما ترجع الرد، زي:
  • التحقق من صلاحيات الشخص اللي بيطلب البيانات (Authentication) 🛡️
  • تسجيل الـ Requests اللي جاية (Logging) 📝

مثال:
JavaScript:
// pages/api/user.js
export default function handler(req, res) {
console.log(`Request Method: ${req.method}`);
if (req.method === 'GET') {
res.status(200).json({ name: 'Ahmed', age: 30 });
} else {
res.status(405).json({ message: 'Method not allowed' });
}
}
هنا بنسجل كل Request في الـ console وبعد كده نرجع الرد المناسب حسب الـ Method.

ليه تستخدم API Routes في Next.js؟​

  • مفيش تعقيدات، كل حاجة جوه المشروع 💻
  • ممكن تعمل API Calls جوه المشروع بسهولة seamless 🔄
  • Next.js بتدعم Serverless Functions، ده معناه سرعة وأداء أفضل ⚡
الخلاصة: مع API Routes، تقدر تعمل Backend بسيط وسريع جوه مشروعك Next.js بدون أي سيرفر خارجي، وكمان بتحافظ على الأداء والكفاءة العالية 🚀.
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
342
x32x01
x32x01
x32x01
الردود
0
المشاهدات
349
x32x01
x32x01
x32x01
الردود
0
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
357
x32x01
x32x01
x32x01
الردود
0
المشاهدات
354
x32x01
x32x01
x32x01
الردود
0
المشاهدات
398
x32x01
x32x01
x32x01
الردود
0
المشاهدات
347
x32x01
x32x01
x32x01
الردود
0
المشاهدات
346
x32x01
x32x01
x32x01
الردود
0
المشاهدات
539
x32x01
x32x01
x32x01
الردود
0
المشاهدات
568
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,830
المشاركات
2,027
أعضاء أكتب كود
464
أخر عضو
رشن7
عودة
أعلى