Table of Contents
REST API LARAVEL
دورة تعلم REST API LARVEL واجهة برمجة التطبيقات باستخدام إطار العمل لارافيل وبرنامج POSTMAN من خلال التطبيق على بروجكت ومن البداية للاحتراف فقط تابع معنا هذه الدورة
الجزء الثالث
أولاً: API Resources
ثانياً: API Authentication مقدمة
ثالثاً: نسخ مجلد وإعادة التسميه
رابعاً: تصدير واستيراد وحذف ملفات
خامساً: المراجع والروابط
أولاً: API Resources
إذا أردنا أن نتحكم في عرض البيانات فسوف نستخدم API Resources من خلال كتابة الأمر التالي
php artisan make:resource LessonResource
وسوف يعمل LessonResource كوسيط بين model وبين JSON
بعد إنشاءه سوف تقوم بفتح ملف LessonResource.php داخل مجلد Resources داخل app
كالتالي
ولو أردنا مثلاً عرض حقل id وحقل lesson_title وحقل lesson_notes ولانريد عرض حقلي created_at أو updated_at سوف نفتح LessonResource.php ونكتب الكود التالي
public function toArray(Request $request): array
{
return [
'id'=>$this->id,
'lesson_title'=>$this->lesson_title,
'lesson_notes'=>$this->lesson_notes,
];
}
ثم نذهب إلى LessonController ونكتب الكود التالي
public function index(){
return LessonResource::collection(Lesson::all());
}
ولو ذهبنا إلى برنامج postman سوف نلاحظ الآتي
وكما نلاحظ تم عرض الحقول التي حددناها في LessonResource
ولو كتبنا الكود التالي
public function toArray(Request $request): array
{
return [
'id'=>$this->id,
'lesson_title'=>$this->lesson_title,
'lesson_notes'=>$this->lesson_notes,
'created_at'=>$this->created_at
];
}
سوف يتم عرض حقل created_at مع حقول id,lesson_title,lesson_notes
ثانياً: API Authentication مقدمة
سوف أقوم بإنشاء middleware وسوف أقوم بتسميته InputPassword من خلال كتابة الأمر التالي
php artisan make:middleware InputPassword
بعد ذلك سوف افتح ملف kernel.php واضع السطر التالي
‘input_password’ => \App\Http\Middleware\InputPassword::class,
داخل middlewareAliases
ثم نذهب لملف env ونكتب الكود التالي لتعيين كلمة سر مثلاً سأجعلها 123 كالتالي
API_PASSWORD=123
ثم أفتح ملف InputPassword.php داخل مجلد Middleware وأقوم بكتابة الكود التالي
public function handle(Request $request, Closure $next): Response
{
if($request->password !==env('API_PASSWORD','123')){
return response()->json(['message'=>'Password is wrong']);
}
return $next($request);
}
ثم نذهب لبرنامج postman ونقوم بكتابة كلمة password داخل key ونكتب كلمة السر داخل value ونضغط send وسوف يقوم بعرض البيانات التي نريدها إذا كانت كلمة السر صحيحة وسوف يقوم بعر جملة Password is wrong إذا كانت كلمة السر خاطئة كالتالي
وسنلاحظ عند كتابة كلمة السر الصحيحة عرض البيانات ولو كتبنا كلمة السر الخطأ سيعرض الآتي
عندما أدخلنا كلمة سر خاطئة قام بعرض جملة Password is wrong
ثالثاً: نسخ مجلد وإعادة التسميه
عند نسخ مجلد مثل الذي أنشأناه في postman نقوم بعمل التالي
ثم نضغط على الثلاثة نقاط أمام اسم المجلد ونختار duplicate وسوف نلاحظ نسخ المجلد وإذا أردنا إعادة التسميه نضغط على الثلاثة نقاط ونختار rename ثم نكتب الاسم الجديد الذي نريده
رابعاً: تصدير واستيراد وحذف ملفات
نضغط على الثلاثة نقاط أمام المجلد ونختار export ونحدد مكان نحفظ فيه الملفات ونضغط export كالتالي
ولاستيراد ملفات نختار import في الأعلى ونختار المكان الذي حفظنا فيه الملفات ونختارها ونضغط import وسوف تلاحظ وجودها في بيئة العمل
ولحذف ملفات نضغط على الثلاثة نقاط ونختار كلمة delete وبهذا تتم عملية الحذف
الآن تعلمنا في هذا الدرس Api Resources وكيف ننشأها ونستخدمها في التحكم في عرض بيانات معينة أو كل البيانات وتعلمنا مقدمة عن api authentication وإنشأنا middleware وتحكمنا في عرض البيانات بواسطة كلمة سر ثم تعلمنا كيفية نسخ ملفات وإعادة التسمية كما تعلمنا طريقة الاستيراد وطريقة التصدير وكذلك تعلمنا حذف ملفات من postman وسوف نتعلم المزيد في الدروس القادمة إن شاء الله