REST API LARAVEL

REST API LARAVEL

REST API LARAVEL

أولاً: ما هي واجهة برمجة التطبيقات REST API؟

REST API LARAVEL

واجهة التطبيقات البرمجية application programming interface (API) تتبع في تصميمها مباديء representational state transfer(REST) وهي طريقة لنقل الحالة التمثيلية بين التطبيقات عبر الإنترنت و الحصول على المعلومات باستعمال قواعد معينة

وما يميز واجهة برمجة التطبيقات سهولة الاستخدام لاتباعها طرق http المعروفة مثل POST و GET وغير ذلك من الطرق ويتم نقل الحالة التمثيلية بين التطبيقات بتنسيقات مثل HTML أو JSON أو XML ويعتبر JSON الأكثرها استخداماً ولن نحتاج عند التعامل مع REST إلى لغة برمجة معينة حيث نستطيع تنفيذ موقع إلكتروني معين مثلاً مكتوب بلغة php التعامل مع تطبيق مصمم باستخدام flutter وهذا باستخدام API بين الموقع الإلكتروني والتطبيق حيث يقوم مبرمج الموقع بارسال API إلى مبرمج التطبيقات للتعامل معها داخل التطبيق بكل سهولة و التواصل والتعاون بين مبرمج الواجهة الأمامية والواجهة الخلفية

ثانياً: تحميل وتثبيت برنامج Postman

وسنشرح في هذه الدروس إن شاء الله استخدام API بواسطة إطار العمل Laravel Framework وبرنامج Postman

سنقوم بتحميل برنامج postman ثم نقوم بتثبيته والضغط على Workspaces حيث مساحة العمل الخاصة بنا

ثالثاً: إنشاء مشروع لارفيل

نفتح برنامج visual studio ونكتب في terminal السطر التالي

				
					composer create-project laravel/laravel api_lessons
				
			

ثم نقوم بكتابة  cd api_lessons للوصول إلى المشروع في terminal

ثم نقوم بكتابة . code 

لفتح المشروع في نافذة جديدة

رابعاً: تشغيل المشروع

نكتب في terminal السطر التالي

				
					php artisan serv
				
			

خامساً:إنشاء جداول قاعدة البيانات

نفتح ملف .env ونضع اسم لقاعدة البيانات واسم المستخدم وكلمة السر كالآتي

				
					DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=api_lessons
DB_USERNAME=root
DB_PASSWORD=

				
			

ثم نقوم بكتابة أمر

				
					php artisan migrate
				
			

إنشاء جدول داخل قاعدة البيانات سأسمي الجدول lessons

				
					php artisan make:migration create_lessons_table
				
			

وسننشيء بعض الحقول داخل الجدول

				
					public function up(): void
    {
        Schema::create('lessons', function (Blueprint $table) {
            $table->id();
            $table->string('lesson_title');
            $table->string('lesson_notes');
            $table->timestamps();
        });
    }

				
			

ثم نقوم بكتابة أمر php artisan migrate

سادساً: إنشاء model & controller

سنقوم بكتابة الأمر التالي لإنشاء Lesson model

				
					php artisan make:model Lesson
				
			

ثم نقوم بكتابة الأمر التالي لإنشاء LessonController

				
					php artisan make:controller LessonController 
				
			
سابعاً:إضافة بيانات عشوائية لقاعدة البيانات باستخدام seeder

سنقوم بإنشاء factory كالآتي

				
					php artisan make:factory LessonFactory 
				
			

وسوف أكتب الأكواد التالية لإضافة بيانات عشوائية في قاعدة البيانات

				
					  public function definition(): array
    {
        return [
            'lesson_title'=>fake()->sentence(),
            'lesson_notes'=>fake()->sentence(),
        ];
    }

				
			

ثم نقوم بفتح ملف DatabaseSeeder.php ونضيف الكود التالي

				
					 public function run(): void
    {
        \App\Models\Lesson::factory(10)->create();

        // \App\Models\User::factory()->create([
        //     'name' => 'Test User',
        //     'email' => 'test@example.com',
        // ]);
    }

				
			

ثم نقوم بكتابة أمر php artisan migrate –seed  

فكما ترى تم إضافة البيانات إى جدول lessons الذي أنشأناه

ثامناً: عرض البيانات في المتصفح بالطريقة العادية

في هذه الطريقة سنقوم بعرض البيانات التي أضفناها لجدول lesson بالطريقة المعتادة عن طريق الدخول إلى LessonController وإضافة دالة index ثم استدعاء البيانات كالآتي

				
					class LessonController extends Controller
{
    public function index(){
        return Lesson::all();
     }

}

				
			

ثم نقوم بفتح ملف web.php ونكتب الكود التالي

				
					Route::prefix('lessons')->group(function(){
    Route::resource('/',LessonController::class);
});

				
			

ثم نذهب إلى المتصفح لعرض البيانات كالتالي

23
تاسعاً: عرض البيانات بواسطة REST API داخل postman في هيئة JSON

سنقوم بإنشاء مجلد داخل controller يسمى Api أو أي اسم آخر وننشي بداخله controller يسمى LessonController

24

ونكتب بداخله  الكود التالي

				
					class LessonController extends Controller
{
    public function index(){
       return Lesson::all();
    }
}

				
			

كيف سنعرض الكود داخل postman؟

سوف نذهب الآن إلى ملف api.php داخل مجلد routes

25

ثم نكتب الكود التالي

				
					Route::prefix('lessons')->group(function(){
    Route::apiResource('/',LessonController::class);
});

				
			

سوف نفتح الآن برنامج postman ونضغط على علامة + لإنشاء new collection سنسميه Lessons كالآتي

17

ثم نضغط على الثلاثة نقاط التي أمام Lessons ونختار من القائمة Add request

26 1

ثم سنسميه get_all_lessons كالآتي

27 1

سوف نكتب المسار التالي للحصول على البيانات الموجودة داخل جدول lessons

http://127.0.0.1:8000/api/lessons

ونتأكد أننا نختار GET لهذا الرابط في postman

كالآتي

28

سوف نقوم الآن بالضغط على Send لعرض البيانات الموجودة داخل جدول lesson كالتالي 

20 1

الآن تعلمنا في هذا الدرس الحصول على المعلومات من الجدول للتعامل معها بدون العرض في المتصفح وذلك باستخدام Rest api في برنامج postman على هيئة JSON

وسوف نتعلم المزيد في هذه الدورة في الدرس القادم إن شاء الله

عاشراً:المراجع والروابط

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Scroll to Top