Create Custom Route File in Laravel
Step-1: Create a Routes file name routes/vendors-api.php in the routes directory. Define your routes let suppose in my case I have some routes with prefix vendors in “vendors-api.php”
<?php
/*
vendors-api.php
|--------------------------------------------------------------------------
| Vendors API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "vendors" middleware group. Make something great!
|
*/
Route::get('/', function () {
dd('Welcome to vendors api routes.');
});
Step-2: Open the “app/Providers/RouteServiceProvider.php” and add the following code in “public function boot()”.
<?php
namespace App\Providers;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\Facades\Route;
class RouteServiceProvider extends ServiceProvider
{
/**
* The path to your application's "home" route.
*
* Typically, users are redirected here after authentication.
*
* @var string
*/
public const HOME = '/dashboard';
/**
* Define your route model bindings, pattern filters, and other route configuration.
*/
public function boot(): void
{
RateLimiter::for('api', function (Request $request) {
return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
});
$this->routes(function () {
Route::middleware('api')
->prefix('api/users')
->group(base_path('routes/api.php'));
Route::middleware('web')
->group(base_path('routes/web.php'));
Route::middleware('api')
->prefix('api/vendors')
->group(base_path('routes/vendors-api.php'));
});
}
}
Now check the api/vendors routes by simply calling
http://127.0.0.1:8000/api/vendors
I hope it can help you.