ما هي واجهة برمجة تطبيقات REST في Laravel: كل ما تحتاج إلى معرفته
نشرت: 2022-11-03يتجه العالم تمامًا نحو سهولة استخدام الأجهزة المحمولة والبحث عن حلول عبر الإنترنت. يتقدم تصميم الويب وتطوير الويب على نطاق واسع في عالم اليوم.
تم تحويل معظم الطلب إلى الهواتف الذكية حيث يشمل تطوير مواقع الويب تطوير تطبيقات الأجهزة المحمولة أيضًا. ومع ذلك ، بالنسبة لتطبيقات الأجهزة المحمولة ، تتطلب الخلفية واجهة برمجة تطبيقات مريحة.
إذا كنت لا تعرف ما هي REST API ، فلا بأس بذلك! لقد حصلت على تغطيتها.
في هذه المدونة ، سأشرح ما هي واجهة برمجة التطبيقات المريحة وكيف تعمل. سأشرح أيضًا كيفية تطوير واجهة برمجة تطبيقات مريحة في Laravel.
هيا بنا نبدأ…
ما هي واجهة برمجة تطبيقات REST؟
APi هي واجهة برمجة التطبيقات ، والتي تساعدنا على توصيل جهاز واحد بجهاز آخر ، على سبيل المثال الزوج لدينا موقع ويب واحد مباشر والآن نريد إنشاء تطبيق جوال واحد لذلك سننشئ واجهة برمجة تطبيقات لتوصيل البيانات بالجهاز ، وعلينا استخدام JSON البيانات لتمريرها في الجهاز بحيث يمكن أن يتم ذلك باستخدام واجهة برمجة التطبيقات فقط.
في بعض الأحيان ، هناك حاجة إلى شبكة اتصالات REST API أو واجهة برمجة تطبيقات نقل الحالة التمثيلية.
كيف يعمل؟
في البداية ، يتعين علينا تثبيت تطبيق Laravel في نظامنا حتى نتمكن من اتباع وثائق Laravel الرسمية التي ستساعدنا على المضي قدمًا. إليك رابط المستند الذي يمكن اتباعه لتثبيت تطبيق Laravel:
http://laravel.com/
لتثبيت التطبيق ، يرجى استخدام هذا الأمر ولكن يرجى التأكد من أنه يجب أن يكون لديك الملحن في نظامك ، حيث أن الملحن هو أداة تبعية تساعد في تثبيت جميع التبعيات في التطبيق ، يمكنك اتباع هذا الرابط:
https://getcomposer.org/download/
بمجرد تثبيت الملحن ، يمكنك تنزيل Laravel ، يرجى استخدام هذا الأمر:
إنشاء مشروع الملحن - يفضل-توزيع اللارافيل / Laravel-sanctum-auth
بمجرد تثبيت المشروع ، ستحتاج إلى تعيين تفاصيل قاعدة البيانات في ملف ENV ، لذا قم فقط بملء قاعدة البيانات nane في ملف ENV.
الخطوة التالية هي تثبيت حزمة API. هناك العديد من الحزم المتاحة ولكن يمكنك تثبيتها حسب اختيارك.
لتثبيت الحزمة ، عليك اتباع الأمر كما هو مذكور في وثائق Laravel. بما أنني سأستخدم Sanctum ، سأستخدم هذا الأمر:
يتطلب الملحن Laravel / sanctum
بعد تشغيل هذا الأمر ، سيتم تثبيت الحزمة الخاصة بي وستكون جاهزة للاستخدام. فقط اتبع لقطة الشاشة أدناه:
بمجرد الانتهاء من إعداد الحزمة ، فإن الخطوة التالية هي إنشاء نموذج لقاعدة البيانات. سننشئ وضعًا واحدًا وترحيلًا سيتصل بقاعدة البيانات المباشرة ،
ملف التطبيق / النماذج / User.php.
<؟ php
تطبيقات \ نماذج مساحة الاسم ؛
استخدم Illuminate \ Contracts \ Auth \ MustVerifyEmail ؛
استخدم Illuminate \ Database \ Eloquent \ Factories \ HasFactory ؛
استخدام Illuminate \ Foundation \ Auth \ User باعتباره Authenticatable ؛
استخدام Illuminate \ Notifications \ Notifiable ؛
// مقدس
استخدم Laravel \ Sanctum \ HasApiTokens ؛
يمتد مستخدم فئة المصادقة
{
استخدام HasApiTokens و HasFactory و Notifiable ؛
/ **
* السمات القابلة للتخصيص الجماعي.
*
* @ مجموعة فار
* /
محمي $ fillable = [
'اسم'،
'البريد الإلكتروني'،
'كلمه السر'،
] ؛
/ **
* السمات التي يجب إخفاؤها عن المصفوفات.
*
* @ مجموعة فار
* /
محمي $ مخفي = [
'كلمه السر'،
"Remember_token" ،
] ؛
/ **
* السمات التي يجب تحويلها إلى الأنواع الأصلية.
*
* @ مجموعة فار
* /
يلقي المحمية $ = [
"email_verified_at" => "التاريخ والوقت" ،
] ؛
}
الآن يتعين علينا إنشاء وحدة تحكم واحدة ، لذا يرجى استخدام هذا الأمر لإنشاء وحدة تحكم
حرفي PHP جعل: اسم تحكم تحكم
ملف app / Http / Controllers / API / BaseController.php:
<؟ php
تطبيق مساحة الاسم \ Http \ Controllers \ API ؛
استخدام Illuminate \ Http \ Request ؛
استخدام App \ Http \ Controllers \ Controller كوحدة تحكم ؛
فئة BaseController يمتد تحكم
{
/ **

* طريقة الاستجابة الناجحة.
*
*return \ Illuminate \ Http \ Response
* /
الوظيفة العامة sendResponse (نتيجة $ ، رسالة $)
{
استجابة دولار = [
"النجاح" => صحيح ،
"البيانات" => $ نتيجة ،
'message' => $ message ،
] ؛
رد الإرجاع () -> json (استجابة $ 200) ؛
}
/ **
* إرجاع استجابة الخطأ.
*
*return \ Illuminate \ Http \ Response
* /
إرسال الوظيفة العامة خطأ (خطأ دولار ، رسائل خطأ دولار = [] ، رمز دولار = 404)
{
استجابة دولار = [
"النجاح" => خطأ ،
"message" => خطأ دولار ،
] ؛
إذا (! فارغ ($ errorMessages)) {
استجابة $ ['data'] = $ errorMessages؛
}
return response () -> json ($ response، $ code) ؛
}
}
يرجى ملاحظة: عندما نقوم بإنشاء API ، فإننا نرسل دائمًا استجابة في JSON مع رمز الحالة.
بالنسبة إلى API ، نقوم دائمًا بإنشاء رمز المصادقة. هذا يعني أنه إذا تم إنشاء رمز مميز والتحقق منه ، فيمكننا حينئذٍ مصادقة المستخدمين.
<؟ php
تطبيق مساحة الاسم \ Http \ Controllers \ API ؛
استخدام Illuminate \ Http \ Request ؛
استخدام App \ Http \ Controllers \ API \ BaseController كـ BaseController ؛
استخدام Illuminate \ Support \ Facades \ Auth ؛
استخدام المدقق
استخدام التطبيق \ النماذج \ المستخدم ؛
فئة AuthController تمتد BaseController
{
تسجيل الدخول للوظيفة العامة (طلب $ request)
{
if (Auth :: try (['email' => $ request-> email، 'password' => $ request-> password])) {
$ authUser = Auth :: user ()؛
$ Success ['token'] = $ authUser-> createToken ('MyAuthApp') -> simpleTextToken؛
نجاح $ ['name'] = $ authUser-> name؛
إرجاع $ this-> sendResponse (نجاح $ ، "تسجيل دخول المستخدم") ؛
}
آخر{
إرجاع $ this-> sendError ('Unauthorized.'، ['error' => 'Unauthorized'])؛
}
}
تسجيل الوظيفة العامة (طلب $ request)
{
Validator = Validator :: make ($ request-> all ()، [
"الاسم" => "مطلوب" ،
"البريد الإلكتروني" => "مطلوب | بريد إلكتروني" ،
"كلمة المرور" => "مطلوب" ،
'Confirm_password' => 'مطلوب | نفس: كلمة المرور' ،
]) ؛
إذا كان (validator-> fails ()) {
إرجاع $ this-> sendError ('التحقق من الخطأ'، $ validator-> errors ()) ؛
}
$ input = $ request-> all ()؛
$ input ['password'] = bcrypt ($ input ['password']) ؛
$ user = User :: create ($ input)؛
$ Success ['token'] = $ user-> createToken ('MyAuthApp') -> simpleTextToken؛
نجاح $ ['name'] = $ user-> name؛
إرجاع $ this-> sendResponse (نجاح $ ، 'تم إنشاء المستخدم بنجاح.') ؛
}
}
ملف المسار هذا:
أخيرًا ، لتشغيل المشروع ، نحتاج إلى تشغيل هذا الأمر:
خدمة php الحرفيين
تغليف
تعمل واجهات برمجة التطبيقات (API) على تشغيل العديد من مواقع الويب والخدمات الأكثر شيوعًا اليوم ، من الشبكات الاجتماعية إلى التطبيقات المالية. في هذه المدونة ، تعرفت على REST API في Laravel. نأمل أن يكون هذا قد أرسى أساسًا لفهمك لما هو REST API وكيف يعمل.
إذا كنت تبحث عن خدمات تطوير الويب ، فلن تحتاج إلى مزيد من البحث. في webdew ، ستتمكن من العثور على فريق استباقي من مصممي ومطوري الويب المهرة لتصميم وبناء موقع الويب الخاص بشركتك. اتصل بنا لمعرفة المزيد.