Reputation: 43
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
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