بالوضع الإفتراضي، عند تثبيت مشروع لارافيل لا يأتي مسبقا للتعامل مع api، وحتى نتمكن من ذلك يجب علينا إستخدام الأمر
php artisan install:api
بعد تنفيذ الأمر يتم إضافة الملفات التالية:
في هذا الدرس سوف نتعرف على كيفية إستخدام وتخصيص api route في laravel 11.
ماذا لو أردنا إعاده تسمية الملف من api.php إلى api2.php
هنا بكل بساطه يجب تسجيل هذا الملف في bootstrap/app.php وإستبدال api.php بـ api2.php
->withRouting( web: __DIR__.'/../routes/web.php', //api: __DIR__.'/../routes/api.php', api: __DIR__.'/../routes/api.php2', commands: __DIR__.'/../routes/console.php', health: '/up', )
ماذا لو أردنا إستخدام api/v1
هنا نحتاج إضافة apiPrefix : 'api/v1/'
->withRouting( web: __DIR__.'/../routes/web.php', api: __DIR__.'/../routes/api.php', apiPrefix: 'api/v1/', commands: __DIR__.'/../routes/console.php', health: '/up', )
وكذلك لو إحتجنا أن يكون route/v2
هنا نعدل apiPrefix
apiPrefix: 'api/v1/',
مثلا لو أردنا إن يكون لدينا api/v1 وكذلك api/v2
هنا بالإضافة إلى apiPrefix يمكن لنا إستخدام الدالة then
->withRouting( web: __DIR__.'/../routes/web.php', api: __DIR__.'/../routes/api.php', apiPrefix: 'api/v1/', commands: __DIR__.'/../routes/console.php', health: '/up', then: function() { Route::prefix('api/v2') ->middleware('api') ->group(base_path('routes/apiv1.php')); } )
بذلك نكون قد قمنا بتسجيل api/v2 مع العلم أنه يجب إنشاء apiv2.php بداخل المجلد routes
ماذا لو أردنا إضافة api/v3
بكل بساطة نقوم بإضافة prefix أخر بداخل then
->withRouting( web: __DIR__.'/../routes/web.php', api: __DIR__.'/../routes/api.php', apiPrefix: 'api/v1/', commands: __DIR__.'/../routes/console.php', health: '/up', then: function() { Route::prefix('api/v2') ->middleware('api') ->group(base_path('routes/api/v2.php')); Route::prefix('api/v2') ->middleware('api') ->group(base_path('routes/apiv2.php')); } )
وكذلك إنشاء الملف apiv2.php