Hassane Bendaoud
Hassane Bendaoud

Reputation: 43

a way to group api Resource in laravel 8?

so basically I was searching for a good way to group this routes in Laravel 8, as you can see the Route::apiResource() are duplicated, it must be another way to do that.


Route::middleware('auth:api')->group(function () {
    Route::post('logout', [AuthController::class, 'logout'])->name('logout');
    Route::apiResource('stores', StoreController::class);
    Route::apiResource('books', BookController::class);
    Route::apiResource('companies', CompanyController::class);
    Route::apiResource('users', UserController::class);
    Route::apiResource('posts', PostController::class);
    Route::apiResource('projects', ProjectController::class);
    Route::apiResource('category_projects', CategoryProjectController::class);
    Route::apiResource('parent_category_projects', ParentCategoryProjectController::class);
    Route::apiResource('child_category_projects', ChildCategoryProjectController::class);

    Route::post('books/{book}/ratings', [RatingController::class, 'store']);
});

Upvotes: 1

Views: 2622

Answers (1)

AzafoCossa
AzafoCossa

Reputation: 1052

You can do it like this:

Route::apiResources([
    'stores' => StoreController::class,
    'books'=> BookController::class,
    'companies' => CompanyController::class,
    'users' => UserController::class,
    'posts' => PostController::class,
    'projects' => ProjectController::class,
    'category_projects'=> CategoryProjectController::class,
    'parent_category_projects' => ParentCategoryProjectController::class,
    'child_category_projects' => ChildCategoryProjectController::class
]);

You can read in this section in the documentation page

Upvotes: 2

Related Questions