Table of Contents
مقدمة
مقدمة
REST API LARAVEL
دورة تعلم REST API LARVEL واجهة برمجة التطبيقات باستخدام إطار العمل لارافيل وبرنامج POSTMAN من خلال التطبيق على بروجكت ومن البداية للاحتراف فقط تابع معنا هذه الدورة
الجزء الثاني
أولاً:الحصول على بيانات معينة
سندخل إلى ملف api.php في route
ثم نكتب المسار التالي
Route::apiResource('/lessons',LessonController::class);
ثم نذهب إلى Controllers ثم إلى LessonController.php في مجلد Api الذي أنشأناه في الدرس السابق ونكتب دالة تعرض بيانات معينة من جدول lessons بواسطة id
public function show(Lesson $lesson){
return response()->json($lesson);
}
ثم نذهب إلى برنامج postman وننشيء request جديد كما تعلمنا في الدرس السابق وسوف اسميه lesson_by_id كالتالي
ثم نختار Get Method ونكتب الرابط ومعه id الخاص بالبيانات التي نريد الحصول عليها ثم نضغط send كالتالي
وكما هو واضح تم عرض البيانات من جدول lessons الخاصة بـ id رقم 5
ثانياً: إضافة بيانات جديدة
لإضافة بيانات لجدول lessons سوف نذهب إلى ملف api.php في route وسنستخدم نفس apiResource في route كالتالي
Route::apiResource('/lessons',LessonController::class);
ثم نذهب إلى Controller ونفتح ملف LessonController.php في مجلد Api الذي أنشأناه ونكتب الدالة التالية
public function store(Request $request){
$lesson = new Lesson();
$lesson->lesson_title = $request->lesson_title;
$lesson->lesson_notes = $request->lesson_notes;
$lesson->save();
return response()->json("Data added successfully");
}
ثم نذهب إلى برنامج postman وننشيء request جديد وسوف اسميه store_lessons كالتالي
ثم نختار POST ونكتب الرابط ثم نختار Body ثم form-data ثم في key نكتب اسم الحقل وفي value نكتب البيانات التي نريد إضافتاها في جدول lessons ونضغط send لأضافة البيانات كالتالي
وكما نلاحظ تم إضافة البيانات بنجاح وتم عرض رسالة Data added successfully
وإذا ذهبنا إلى جدول lessons داخل قاعدة البيانات في phpmyadmin سوف نلاحظ إضافة البيانات الجديدة
ثالثاً: تعديل البيانات
لتعديل وتحديث بيانات معينة في جدول lessons سوف نذهب إلى ملف api.php في route ثم نكتب المسار التالي ونتأكد من تحديد PUT لهذا route لأننا سوف نقوم بتعديل بيانات
Route::put('lessons/update',[LessonController::class,'update']);
ثم نذهب إلى Controller ونفتح ملف LessonController.php في مجلد Api الذي أنشأناه ونكتب الدالة التالية
public function update(Request $request){
$lesson = Lesson::findOrFail($request->id);
$lesson->lesson_title = $request->lesson_title;
$lesson->lesson_notes = $request->lesson_notes;
$lesson->update();
return response()->json("Data has been modified successfully.");
}
ثم نذهب إلى برنامج postman وننشيء request جديد وسوف اسميه update_lessons كالتالي
ثم نختار PUT ونكتب رابط جديد ونضيف في اخره update التي أنشأناها ثم نختار Body ثم
x-www-form-urlencoded
ثم في key نكتب الحقول التي نريد تعديلها ويجب تحديد id ثم نكتب الحقول والبيانات الجديدة التي سوف نضيفها في جدول lessons ونضغط send لتعديل البيانات كالتالي
وكما نلاحظ تم إضافة البيانات بنجاح وتم عرض رسالة Data has been modified successfully
وإذا ذهبنا إلى جدول lessons داخل قاعدة البيانات في phpmyadmin سوف نلاحظ تعديل البيانات الخاصة بالحقل رقم 5 الذي اخترنا تعديل البيانات الخاصة به
رابعاً: حذف بيانات
لتعديل وتحديث بيانات معينة في جدول lessons سوف نذهب إلى ملف api.php في route ثم نكتب المسار التالي ونتأكد من تحديد DELETE لهذا route لأننا سوف نقوم بحذف بيانات
Route::delete('lessons/delete',[LessonController::class,'destroy']);
ثم نذهب إلى Controller ونفتح ملف LessonController.php في مجلد Api الذي أنشأناه ونكتب الدالة التالية
public function destroy(Request $request){
$lesson = Lesson::findOrFail($request->id);
$lesson->delete();
return response()->json("Data deleted successfully");
}
ثم نذهب إلى برنامج postman وننشيء request جديد وسوف اسميه delete_lessons كالتالي
ثم نختار DELETE ونكتب رابط جديد ونضيف في اخره delete التي أنشأناها ثم نختار Body ثم
x-www-form-urlencoded
ثم في key نكتب حقل id الذي نريد حذف البيانات الخاصة به من جدول lessons كالتالي
وكما نلاحظ تم حذف البيانات الخاصة الحقل رقم 10 وتم عرض رسالة Data deleted successfully
وإذا ذهبنا إلى جدول lessons داخل قاعدة البيانات في phpmyadmin سوف نلاحظ حذف البيانات الخاصة بالحقل رقم 10
الآن تعلمنا في هذا الدرس عرض بيانات معينة وإضافة بيانات جديدة وتعديل بيانات وحذف بيانات وذلك باستخدام Rest api في برنامج postman على هيئة JSON
وسوف نتعلم المزيد في هذه الدورة في الدرس القادم إن شاء الله