دعم CORS المدمج : تقدم RestWave معالجة CORS (مشاركة موارد الأصل المتقاطعة) ، مما يلغي الحاجة إلى مكتبة خارجية مثل CORS in Express. إنه يتعامل تلقائيًا مع الرؤوس والخيارات اللازمة ، مما يؤدي إلى تبسيط إدارة طلب الأصل المتقاطع وتوفير الوقت أثناء تطوير API. يضمن RestWave التحكم السلس في الوصول عبر الأصل لبرامج واجهات برمجة التطبيقات الخاصة بك دون متاعب التكوين الإضافي.
تطوير واجهة برمجة التطبيقات : RestWave تبسيط عملية إنشاء واجهات برمجة التطبيقات المريحة من خلال توفير إطار عمل جيد منظم يعتني بالمهام الشائعة ، مما يتيح لك التركيز على بناء منطق التطبيق الأساسي.
الأداء العالي : الاستفادة من قوة خادم TCP ، يضمن RestWave أداءً استثنائياً وقابلية التوسع ، مما يتيح واجهات برمجة التطبيقات الخاصة بك من التعامل مع عدد كبير من الاتصالات والطلبات المتزامنة بكفاءة.
التوجيه المرن : مع نظام التوجيه المرن الخاص بـ RestWave ، يمكنك بسهولة تحديد طرق API الخاصة بك ، بما في ذلك دعم المعلمات الديناميكية ومعلمات الاستعلام والبرامج الوسيطة والمزيد. يوفر واجهة نظيفة وبديهية لتحديد نقاط النهاية والتعامل مع أساليب HTTP.
دعم البرامج الوسيطة : تقدم RestWave دعمًا للبرامج الوسيطة لمساعدتك في التعامل مع المصادقة والتحقق من صحة الطلب ومعالجة الأخطاء والمخاوف الأخرى المتعلقة بالتقاطع. قم بتوصيل وظائف الوسيطة بسهولة لإضافة منطق مخصص في مراحل مختلفة من دورة حياة الاستجابة للطلب.
قابلية التوسيع : تم تصميم RestWave لتكون قابلة للتمديد ، مما يسمح لك بدمج الإضافات أو الوحدات النمطية أو المكونات المخصصة الخاصة بك بسلاسة. تخصيص الإطار لاحتياجاتك المحددة مع الاستفادة من الوظائف القوية الحالية.
اتبع الخطوات هذه لإعداد بسرعة وبدء استخدام RESTWAVE لبناء واجهات برمجة التطبيقات المريحة:
المتطلبات الأساسية
قبل البدء ، تأكد من تثبيت ما يلي:
التثبيت
npm install restwave
import RestWave from "restwave" ;
const app = new RestWave ( ) ;
const PORT = 9000 ;
app . get ( ( req , res ) => {
res . send ( "This is my API endpoint." , 200 ) ;
} ) ;
app . listen ( PORT , ( ) => {
cosnole . log ( `Listening to ${ PORT } ....` ) ;
} ) ; من أجل الوصول إلى request body نقوم بتجميع data .
req.dataيوفر كائن RES في RESTWAVE عدة طرق لإرسال الردود إلى العميل. فيما يلي الطرق المدعومة:
Res.Json (بيانات)
Description : يرسل استجابة JSON إلى العميل.Accepts : كائن JavaScript أو سلسلة بتنسيق JSON.Example : res . json ( { message : "Success" , data : { name : "John" , age : 30 } } ) ;Res.Send (البيانات)
Description : يرسل استجابة عامة إلى العميل.Accepts : سلسلة أو أنواع مختلفة من البيانات ، بما في ذلك XML ، SVG ، HTML ، التنسيقات المستندة إلى النص (على سبيل المثال ، CSS ، SCG ، نص عادي) ، إلخ. يجب أن تكون البيانات بتنسيق السلسلة.Example : res . send ( "<h1>Welcome to my website!</h1>" ) ;Res.Sendfile (المسار)
Description : يرسل ملف كاستجابة للعميل.Accepts : اسم ملف يتم إرساله. تشمل أنواع الملفات المدعومة CSS ، PNG ، JPEG/JPG ، HTML ، GIF ، MP4 ، JS ، JSON ، PDF ، إلخ.Example : res . sendFile ( "/path/to/myfile.html" ) ;من المهم أن نلاحظ أن أساليب Res.Json () و Res.Send () تلقائيًا تعيين رأس النوع المناسب من نوع المحتوى بناءً على البيانات التي يتم إرسالها ، بينما تعتمد Res.SendFile () على امتداد الملف لتحديد نوع المحتوى.
نوفر أيضًا آلية مخصصة لمعالجة الأخطاء حيث يمكنك التعامل مع الأخطاء المخصصة مثل ،
class AppError extends Error {
constructor ( payload , statusCode ) {
const data = JSON . stringify ( payload ) ;
super ( data ) ;
this . statusCode = statusCode ;
this . payload = payload ;
this . status = statusCode >= 500 ? "error" : "fail" ;
}
} const errorController = async ( err , req , res , next ) => {
res . json (
{
status : err . status ,
payload : err . payload ,
} ,
err . statusCode
) ;
} ; app . use ( errorController ) ; نرحب بالمساهمات من مجتمع المطورين لجعل Restwave أفضل. للمساهمة ، يرجى مراجعة إرشادات المساهمة الخاصة بنا هنا. سواء كنت ترغب في الإبلاغ عن خطأ ، أو اقتراح ميزات جديدة ، أو إرسال طلبات السحب ، فإن مشاركتك موضع تقدير كبير.
RestWave مفتوح المصدر وإصداره بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. لا تتردد في استخدامه وتعديله وتوزيعه وفقًا لشروط الترخيص.
تغريد
للحصول على أي استفسارات أو ملاحظات ، يرجى التواصل معنا على [email protected] نود أن نسمع منك!
ابدأ في بناء واجهات برمجة التطبيقات القوية المريحة مع RestWave اليوم وتجربة فرحة تطوير الواجهة الخلفية الفعالة مع Node.js!