Apidog

منصة تطوير API تعاونية متكاملة

تصميم API

توثيق API

تصحيح أخطاء API

محاكاة API

اختبار API الآلي

كل ما يجب أن تعرفه عن طلب PUT في نود جي إس إكسبريس

هل تفكر في بناء تطبيقات ويب أو واجهات برمجة التطبيقات؟ يعد NodeJS Express إطار عمل معروف يجعل التطوير أسهل وأكثر اتساقًا. ستوضح لك هذه المقالة كيفية التعامل مع طلبات POST باستخدام NodeJS Express!

Amir Hassan

Amir Hassan

Updated on نوفمبر 29, 2024

لقد تم تدريبي على البيانات حتى أكتوبر 2023.

💡
التعامل مع JavaScript أمر لا مفر منه عند التعامل مع تطوير التطبيقات والويب. لحسن الحظ، هناك الآن منصة لتطوير واجهات برمجة التطبيقات تحتوي على ميزات مدمجة يمكن أن توفر الكثير من الوقت والطاقة للمطورين!

نقدم لك Apidog، أداة متطورة لواجهات برمجة التطبيقات توفر للمطورين أداة لتوليد الكود لتطوير التطبيقات وواجهات برمجة التطبيقات بشكل أكثر كفاءة.

للتعرف على المزيد حول ما تقدمه Apidog، انقر على الزر أدناه. 
button

أحد أساسيات واجهات برمجة التطبيقات الفعالة يكمن في استخدام طرق HTTP التي تحدد كيفية التفاعل مع الموارد. تلعب طريقة PUT دورًا حاسمًا في هذا السياق، مما يمكّن المطورين من إجراء تحديثات مستهدفة على الموارد الموجودة.

قبل الغوص أعمق في إجراء طلبات PUT باستخدام NodeJS Express، دعنا نفهم تمامًا ما هو NodeJS وExpress بشكل منفصل.

ما هو NodeJS؟

NodeJS هو برنامج مفتوح المصدر يغير القاعدة من خلال السماح لـ JavaScript بالعمل خارج متصفحات الويب. تمتد هذه المرونة عبر أنظمة التشغيل المختلفة، مما يجعله أداة متعددة الاستخدامات للمطورين. يتعمق هذا المستند في ما تقدمه NodeJS، مستعرضًا قدراته وكيف غير طريقة تعاملنا مع تطوير البرمجيات.

الميزات الرئيسية لـ NodeJS

البنية المعتمدة على الأحداث

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

JavaScript في كل مكان

تستخدم NodeJS محرك V8 لـ JavaScript، نفس ذلك الذي يدعم Google Chrome، لتنفيذ التعليمات البرمجية. وهذا يسمح للمطورين باستخدام JavaScript لكل من تطوير الواجهة الأمامية والواجهة الخلفية، مما يقلل الحاجة إلى تعلم وإدارة لغات متعددة.

إدخال/إخراج غير محجوز

تستخدم NodeJS نموذج إدخال/إخراج غير محجوز. هذا يعني أنها لا تنتظر انتهاء العمليات البطيئة (مثل القراءة من قاعدة بيانات) قبل التعامل مع طلبات أخرى. بدلاً من ذلك، تنتقل إلى الطلب التالي بينما تكتمل العملية البطيئة في الخلفية. وهذا يحافظ على استجابة الخادم وكفاءته.

نظام بيئي غني وNPM

تتمتع NodeJS بمجتمع واسع ونشط يساهم في مدير حزم ضخم يسمى npm (مدير حزم Node). يقدم NPM مجموعة واسعة من الوحدات المكتوبة مسبقًا لمختلف الوظائف، مما يوفر وقت وجهد المطورين من خلال توفير مكونات كود قابلة لإعادة الاستخدام.

القابلية للتوسع

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

ما هو Express؟

Express، والذي يعرف أيضًا بـ ExpressJS، هو إطار عمل ويب شهير لـ NodeJS يمكّن المطورين من بناء تطبيقات الويب وواجهات برمجة التطبيقات بسهولة أكبر. يعمل كطبقة من التجريد، موفرًا نهجًا أكثر ملاءمة وتنظيمًا مقارنةً بالعمل مباشرةً مع الوظائف الأساسية لـ NodeJS. وهذا يترجم إلى انخفاض ملحوظ في التعليمات البرمجية المتكررة (كود boilerplate)، مما يسمح للمطورين بالتركيز على المنطق الأساسي لتطبيقاتهم وتسريع عملية التطوير.

الميزات الرئيسية لـ ExpressJS

التوجيه

يتفوق ExpressJS في تعريف المسارات، التي تربط عناوين URL بوظائف محددة تتعامل مع الطلبات الواردة. يجعل هذا التنظيم كود تطبيقك أكثر قراءة وصيانة.

البرمجيات الوسيطة

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

محركات القوالب

يتكامل ExpressJS بسلاسة مع مجموعة متنوعة من محركات القوالب مثل EJS وPug وHandlebars. تتيح لك هذه المحركات إنشاء صفحات HTML ديناميكية من خلال دمج HTML مع المحتوى الناتج عن الخادم.

معالجة الأخطاء

يوفر ExpressJS نهجًا منظمًا لمعالجة الأخطاء. يمكنك تعريف معالجات أخطاء مخصصة لالتقاط والاستجابة للأخطاء بشكل سلس، مما يحسن تجربة المستخدم العامة لتطبيقك.

المجتمع والنظام البيئي

يستفيد ExpressJS من مجتمع كبير ونشط من المطورين. هذا يترجم إلى كمية هائلة من البرمجيات الوسيطة والمكتبات والموارد المتاحة بسهولة، مما يوفر وقت وجهد المطورين عند بناء تطبيقات الويب.

كيف تصنع طلبات PUT باستخدام NodeJS Express؟

لضمان أنه يمكنك تشغيل طلبات PUT، سيتعين عليك أولاً التأكد من أن نظامك يحتوي على NodeJS وNPM مثبتين.

المتطلبات الأساسية

أولاً، أنشئ دليل مشروع وابدأ مشروع NodeJS داخله باستخدام NPM:

mkdir nodejs-put-request
cd nodejs-put-request
npm init -y

بعد ذلك، ثبّت إطار عمل ExpressJS كاعتماد لمشروعك:

npm install express

الخطوة 1 - بناء مسار PUT

داخل دليل مشروعك، أنشئ ملفًا باسم server.js. سيحتوي هذا الملف على منطق تطبيق ExpressJS. توضح مقتطفات الكود أدناه مسار PUT أساسي:

const express = require('express');

const app = express();
const port = 3000;

// تخزين البيانات في الذاكرة (استبدل بقاعدة بيانات للإنتاج)
let data = {
  id: 1,
  name: "جون دو",
  age: 30
};

// مسار PUT لتحديث البيانات بناءً على المعرف
app.put('/api/data/:id', (req, res) => {
  const id = req.params.id;
  const updatedData = req.body;

  // تحقق من وجود البيانات قبل التحديث
  if (data.id !== parseInt(id)) {
    return res.status(404).send("البيانات غير موجودة");
  }

  // تحديث خصائص البيانات باستخدام بناء الجملة المتباين للكائن
  data = { ...data, ...updatedData };

  res.json(data);
});

app.listen(port, () => {
  console.log(`الخادم يستمع على المنفذ ${port}`);
});

تفسير الكود

  1. نستورد Express وننشئ مثيلًا لتطبيق Express.
  2. يعمل كائن بيانات عينة كعنصر نائب (سيتم استخدام قاعدة بيانات في الإنتاج).
  3. يتم التقاط معلمة المعرف من عنوان URL بواسطة مسار PUT (/api/data/:id).
  4. يتم التحقق من وجود البيانات قبل محاولة التحديث.
  5. إذا تم العثور على البيانات، يتم دمج البيانات المحدثة من جسم الطلب مع كائن البيانات الحالي باستخدام بناء الجملة المتباين للكائن (...).
  6. أخيرًا، يتم إرسال البيانات المحدثة مرة أخرى في الاستجابة بصيغة JSON.

الخطوة 2 - إرسال طلب PUT (باستخدام Apidog)

لتمثيل إرسال طلب PUT، يمكنك استخدام أداة مثل Apidog.

apidog making a request
button

ما عليك القيام به هو:

  1. تعيين طريقة HTTP إلى PUT.
  2. تحديد عنوان URL كـ http://localhost:3000/api/data/1 (استبدل 1 بالمعرف المرغوب).
  3. في علامة التبويب الجسم، اضبط نوع المحتوى على JSON وقدم البيانات التي تريد تحديثها (مثل، {"name": "جين دو"}).
  4. إرسال الطلب.

سيجري القسم أدناه تسليط الضوء على المزيد مما تقدمه Apidog.

اعتبارات مهمة وأفضل الممارسات

هذا المثال يعمل كتمثيل أساسي لإجراء طلبات PUT باستخدام NodeJS Express. تذكر أن تضيف ميزات إضافية إلى تطبيقاتك في العالم الحقيقي:

  • معالجة الأخطاء: قم بتنفيذ آليات معالجة الأخطاء القوية لإدارة المشاكل المحتملة بسلاسة أثناء عملية التحديث.
  • التحقق: تحقق من البيانات الواردة لضمان مطابقتها للمخطط والقيود التي حددتها.
  • تكامل قاعدة البيانات: لتطبيقات الإنتاج، دمج حل قاعدة بيانات مثل MongoDB أو PostgreSQL لتخزين البيانات الدائم.
  • البرمجيات الوسيطة: استكشف وظائف البرمجيات الوسيطة في ExpressJS للتعامل مع مهام مثل المصادقة، وحقن الأذونات، والتسجيل للحصول على تطبيق أكثر أمانًا وتنظيمًا.

Apidog - إجراء طلب PUT

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

apidog new put request

أولاً، انقر على زر طلب جديد لإنشاء طلب جديد لطلب PUT باستخدام NodeJS Express.

apidog new put request and endpoint

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

تابع بإضافة التفاصيل الضرورية لطلب PUT الخاص بك.

توليد كود JavaScript لتطبيقك باستخدام Apidog

نظرًا لأن NodeJS و Express مكتوبان باستخدام لغة برمجة JavaScript، ستحتاج إلى فهم اللغة. لحسن الحظ، تحتوي Apidog على ميزة توليد الكود.

apidog generate client code

أولاً، ابحث عن زر </> الموجود في الزاوية العلوية اليمنى من الشاشة. إذا كنت تواجه صعوبة في العثور على الزر، يمكنك الرجوع إلى الصورة أعلاه.

apidog generate javascript unirest code

تابع باختيار لغة البرمجة من جانب العميل التي تحتاجها. لديك القدرة على اختيار مكتبة JavaScript التي تشعر بالراحة معها.

كل ما تحتاجه هو نسخ ولصق الكود في IDE الخاص بك، ومتابعة تحريره لضمان ملاءمته لتطبيق NodeJS الخاص بك! ومع ذلك، إذا كنت مهتمًا باستخدام Unirest كما هو موضح في الصورة أعلاه، يمكنك الرجوع إلى المقال هنا:

button

استنتاج

يمكن لـ NodeJS Express تمكين المطورين من بناء واجهات برمجة تطبيقات قوية ومتعددة الاستخدامات تتكامل بسلاسة طلبات PUT لتحديث الموارد المستهدفة. استكشفت هذه الدليل المفاهيم الأساسية المرتبطة بمعالجة طلبات PUT ضمن تطبيقات NodeJS Express. قمنا بمراجعة إنشاء مشروع، وصياغة مسار PUT، ومحاكاة طلب باستخدام Postman.

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