واجهة برمجة تطبيقات REST (نقل الحالة التمثيلية) - يشار إليها أحيانًا باسم RESTful AP - هي واجهة برمجة تطبيقات تستخدم طلبات HTTP للوصول إلى الموارد واستخدامها.

غالبًا ما يتم تمثيل هذه الموارد بتنسيق JSON على الرغم من استخدام تنسيق XML ونص و HTML في بعض الحالات. أصبحت واجهات برمجة تطبيقات REST طريقة قياسية للتطبيقات لتبادل البيانات عبر شبكة من خلال طرق HTTP مثل GET و PUT و POST و DELETE. إنها تسهل إنشاء وقراءة وتحديث وحذف الموارد التي يشار إليها عادة بعمليات CRUD.

يستكشف هذا الدليل كيف يمكنك استخدام Node. JS لإنشاء واجهة برمجة تطبيقات بسيطة CRUD Restful.

ما تحتاج إلى اتباعه على طول

تأكد من تثبيت Node.js على جهازك المحلي. يركض عقدة الخامس للتحقق مما إذا كان Node. تم تثبيت JS. يجب أن يُرجع هذا الأمر رقم الإصدار.

متعلق ب: كيفية تثبيت Node.js على نظام Windows

يجب أن يكون لديك أيضًا مثيل عملي لمفضلتك محرر النص (مثل رمز VS).

إعداد مشروع

قم بإنشاء مجلد لتطبيقك وانتقل إليه. على الجهاز وفي الدليل الذي أنشأته للتو ، قم بالتهيئة package.json عن طريق الركض الحرف الأول npm.

$ npm init -y 

ال package.json سيساعدك على تثبيت وإدارة حزم npm. ال

instagram viewer
تقوم العلامة بإنشاء ملف package.json باستخدام الخيارات الافتراضية دون الحاجة إلى إعداد التفاصيل الفردية. يجب أن يبدو الإخراج على جهازك الطرفي بهذا الشكل. لاحظ أن الاسم سيكون مختلفًا بناءً على الاسم الذي قمت بتسميته بالمجلد الخاص بك.

قم بإعداد الخادم

لإنشاء خادم ، أولاً ، قم بتثبيت Express.js و Nodemon. Express.js هي عقدة. Js framework الذي تم تصميمه لتسهيل تطوير تطبيقات الويب وواجهات برمجة التطبيقات. سوف تستخدمه ل تكوين الخادم ونقاط نهاية API. Nodemon من ناحية أخرى هي أداة تطوير ستقوم بإعادة تشغيل الخادم الخاص بك عندما يتغير رمز التطبيق الخاص بك.

قم بتشغيل الأمر التالي للتثبيت يعبر و nodemon:

npm أنا صريحة nodemon 

بعد ذلك ، لإنشاء الخادم الخاص بك ، قم بإنشاء ملف واتصل به server.js ثم أضف الكود التالي.

// طلب صريح
const صريحة = تتطلب ("صريحة") ؛
// تهيئة صريحة
تطبيق const = express () ؛
ميناء كونست = 8080 ؛
// تحليل JSON
app.use (express.json ()) ؛
// تحليل URL البيانات المشفرة
app.use (express.urlencoded ({extension: true})) ؛
// إنشاء الخادم
app.listen (PORT، () => {
console.log (`الخادم يعمل على المنفذ $ {PORT}`) ؛
});

في الكود أعلاه ، تتطلب التعبير في ملف server.js ملف وتهيئته. بعد ذلك ، قم بتكوين express لتحليل بيانات JSON و URL المشفرة. أخيرًا ، قم بإنشاء خادم باستخدام امتداد يستمع() طريقة من اكسبرس.

متعلق ب: ما هو Express.js ولماذا يجب استخدامه؟

الشروع في العمل: إنشاء صفيف لتخزين بيانات المستخدم

لأغراض التبسيط ، لن تستخدم قاعدة بيانات بل مصفوفة مستخدم بسيطة. في app.js الخاص بك ، أضف الكود التالي بعد السطر الذي يوزع بيانات URL المشفرة.

المستخدمون الثابتون = [{
المعرف: 1 ،
الاسم: "جين دو" ،
العمر: "22"،
},
{
المعرف: 2 ،
الاسم: "John Doe" ،
العمر: "31"،
}];

متعلق ب: كيفية إنشاء قاعدة بيانات ومجموعة في MongoDB

كيفية إعداد المسارات في Express.js

لإجراء عمليات على بياناتك ، تحتاج إلى إعداد التوجيه. ستحدد المسارات كيفية استجابة تطبيقك للطلبات المقدمة إلى نقطة نهاية معينة. يحتوي كل مسار على طريقة HTTP وعنوان URL ووظيفة معالج تتعامل مع طلب واستجابة HTTP. لإعداد المسارات ، أضف ما يلي إلى ملف server.js ملف بعد الخاص بك المستخدمين مجموعة مصفوفة.

app.post ('/ create'، (req، res) => {
// إنشاء مستخدم
});
app.get ('/ users'، (req، res) => {
// يسترجع كافة المستخدمين
});
app.get ('/ user /: userID'، (req، res) => {
// يعيد المستخدم بالمعرف
});
app.put ('/ user /: userID'، (req، res) => {
// تحديث المستخدم عن طريق المعرف
});
app.delete ('/ delete /: userID'، (req، res) => {
// حذف مستخدم عن طريق المعرف
});
app.delete ('/ users'، (req، res) => {
// احذف جميع المستخدمين
});

كيفية إجراء عمليات CRUD في العقدة. شبيبة

تحتاج إلى إنشاء الوظائف التي من شأنها معالجة بيانات المستخدم وإرجاع استجابة وفقًا للطريق المطابق. ستقوم هذه الوظائف بإنشاء وقراءة وتحديث وحذف بيانات المستخدم.

متعلق ب: كيفية إجراء عمليات CRUD في MongoDB

كيفية إنشاء مستخدم جديد

لإنشاء مستخدم جديد ، سوف تحتاج إلى:

  • تحقق مما إذا كان نص الطلب فارغًا - إذا كان كذلك ، فأرسل استجابة بالخطأ.
  • استخرج بيانات المستخدم من نص الطلب.
  • تحقق من صحة بيانات المستخدم.
  • ادفع بيانات المستخدم إلى المصفوفة.

لاحظ أنك تستخدم مصفوفة لأغراض التبسيط فقط. في سيناريو الحالة الحقيقية ، قد تتفاعل مع قاعدة بيانات.

قم بتحرير مسار POST الخاص بك على النحو التالي.

app.post ("/ create"، (req، res) => {
// تحقق مما إذا كان نص الطلب فارغًا
إذا (! Object.keys (req.body) .length) {
إرجاع res.status (400) .json ({
الرسالة: "لا يمكن ترك نص الطلب فارغًا" ،
});
}
// استخدم تدمير الكائن للحصول على الاسم والعمر
const {name، age} = req.body؛
إذا (! name ||! age) {
res.status (400) .json ({
الرسالة: "تأكد من إرسال الاسم والعمر" ،
});
}
مستخدم جديد = {
المعرّف: users.length + 1،
اسم،
عمر،
};
يحاول {
users.push (newUser) ؛
res.status (201) .json ({
الرسالة: "تم إنشاء مستخدم جديد بنجاح" ،
});
} catch (خطأ) {
res.status (500) .json ({
الرسالة: "فشل إنشاء المستخدم" ،
});
}
});

كيف تقرأ المستخدمين

لاسترداد جميع المستخدمين ، قم بإرجاع مصفوفة المستخدمين في إجابتك.

app.get ("/ users"، (req، res) => {
يحاول {
res.status (200) .json ({
المستخدمين
});
} catch (خطأ) {
res.status (500) .json ({
الرسالة: "فشل استرداد جميع المستخدمين" ،
});
}
});

إذا اختبرت هذا المسار باستخدام ساعي البريد ، فيجب أن تتلقى مجموعة من المستخدمين في نص الاستجابة.

لاسترداد مستخدم واحد فقط:

  • احصل على معرف المستخدم من معلمة URL.
  • يستخدم تجد() لتحديد بيانات المستخدم المحددة التي تطلبها.
  • أعد المستخدم في الرد.
app.get ("/ users /: userID"، (req، res) => {
معرف const = parseInt (req.params.userID) ،
console.log (معرف) ؛
يحاول {
اسمح للمستخدم = users.find ((المستخدم) => معرف معرف المستخدم) ؛
إذا (! مستخدم) {
إرجاع res.status (404) .json ({
الرسالة: "المستخدم غير موجود" ،
});
}
res.status (200) .json ({
المستعمل،
});
} catch (خطأ) {
res.status (500) .json ({
الرسالة: "فشل استرداد المستخدم" ،
});
}
});

كيفية تحديث المستخدمين

لتحديث المستخدم:

  • استرجع معرف المستخدم من عنوان URL.
  • يستخدم تجد() للتحقق مما إذا كان المستخدم موجودًا.
  • يستخدم دليل ل() للحصول على فهرس المستخدم الذي تتم الإشارة إليه.
  • استخدم الفهرس لتحرير بيانات المستخدم بالبيانات المرسلة من خلال نص الطلب.
app.put ("/ users /: userID"، (req، res) => {
يحاول {
معرف const = parseInt (req.params.userID) ،
اسمح للمستخدم = users.find ((المستخدم) => معرف معرف المستخدم) ؛
إذا (! مستخدم) {
إرجاع res.status (404) .json ({
الرسالة: "المستخدم غير موجود" ،
});
}
const userIDX = users.indexOf (مستخدم) ،
المستخدمين [userIDX] .name = req.body.name || المستخدمين [userIDX] .name ؛
المستخدمين [userIDX] .age = req.body.age || المستخدمين [userIDX] .age ؛
res.status (200) .json ({
الرسالة: "تم تحديث المستخدم بنجاح" ،
المستعمل،
});
} catch (خطأ) {
res.status (500) .json ({
الرسالة: "فشل استرداد المستخدم" ،
});
}
});

كيفية حذف المستخدمين

يمكنك اختيار حذف مستخدم واحد أو جميع المستخدمين.

لحذف مستخدم واحد:

  • استرجع معرف المستخدم من عنوان URL
  • يستخدم تجد() للتحقق مما إذا كان المستخدم موجودًا
  • يستخدم findIndex () للحصول على فهرس المستخدم الذي تتم الإشارة إليه.
  • يستخدم لصق او جمع() لحذف المستخدم في هذا الفهرس.
app.delete ("/ users /: userID"، (req، res) => {
يحاول {
معرف const = req.params.userID ؛
دع userIDX = users.findIndex ((user) => user.id id) ؛
إذا (! userIDX) {
res.status (404) .json ({
الرسالة: "المستخدم غير موجود" ،
});
}
users.splice (userIDX، 1) ؛
res.status (200) .json ({
الرسالة: "تم حذف المستخدم بنجاح" ،
المستخدمين ،
});
} catch (خطأ) {
res.status (500) .json ({
الرسالة: "فشل حذف المستخدم" ،
});
}
});

لحذف جميع المستخدمين ، قم بلصق المصفوفة بأكملها.

app.delete ("/ users"، (req، res) => {
يحاول {
users.splice (0، users.length) ؛
res.status (200) .json ({
الرسالة: "تم حذف جميع المستخدمين بنجاح" ،
المستخدمين ،
});
} catch (خطأ) {
res.status (500) .json ({
الرسالة: "فشل حذف المستخدمين" ،
س ،
});
}
});

تعرف على المزيد حول RESTful APIs

يناقش هذا البرنامج التعليمي كيفية إنشاء واجهة برمجة تطبيقات RESTful أساسية في Node. شبيبة. لقد تعلمت كيفية إنشاء خادم Express ، وإعداد المسارات ، وأخيراً ، إنشاء وظائف المعالج التي تتفاعل مع بياناتك من خلال طلبات / استجابات HTTP.

ومع ذلك ، هناك بعض الموضوعات الأساسية التي لم يتم تناولها هنا والتي يجب عليك إجراء المزيد من البحث عنها ، بما في ذلك كيفية توصيل التطبيق الخاص بك بقاعدة بيانات مثل MongoDB وكيفية تأمين المسارات.

كيف يمكن لقاعدة بيانات MongoDB تنظيم بياناتك بشكل أفضل

MongoDB (من "humongous") هي قاعدة بيانات متعددة المنصات موجهة نحو المستندات تستخدم كبديل لـ MySQL. لكن ماذا يعني هذا؟

اقرأ التالي

شاركسقسقةبريد الالكتروني
مواضيع ذات صلة
  • برمجة
  • جافا سكريبت
  • API
عن المؤلف
ماري جاثوني (2 مقالات منشورة)

ماري جاثوني هي مطورة برامج لديها شغف لإنشاء محتوى تقني ليس إعلاميًا فحسب ، بل جذابًا أيضًا. عندما لا تقوم بالبرمجة أو الكتابة ، فإنها تستمتع بالتسكع مع الأصدقاء والتواجد في الهواء الطلق.

المزيد من Mary Gathoni

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك