web.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. /*
  4. |--------------------------------------------------------------------------
  5. | Web Routes
  6. |--------------------------------------------------------------------------
  7. |
  8. | Here is where you can register web routes for your application. These
  9. | routes are loaded by the RouteServiceProvider and all of them will
  10. | be assigned to the "web" middleware group. Make something great!
  11. |
  12. */
  13. // Главная страница
  14. Route::view('/', 'index');
  15. use App\Http\Controllers;
  16. use App\Http\Resources;
  17. use App\Models;
  18. // Книги
  19. Route::get('/books', [Controllers\BookController::class, 'index']);
  20. Route::get('/book/add', [Controllers\BookController::class, 'add']);
  21. Route::get('/book/{book}', [Controllers\BookController::class, 'view']);
  22. Route::get('/book/{book}/delete', [Controllers\BookController::class, 'drop']);
  23. Route::get('/book/{book}/edit', [Controllers\BookController::class, 'edit']);
  24. Route::post('/book/{book}/edit', [Controllers\BookController::class, 'store']);
  25. Route::post('/book/{book}/comment', [Controllers\BookController::class, 'comment']);
  26. Route::post('/book/add', [Controllers\BookController::class, 'store']);
  27. // Авторы
  28. Route::get('/authors', [Controllers\AuthorController::class, 'index']);
  29. Route::get('/author/add', [Controllers\AuthorController::class, 'add']);
  30. Route::get('/author/{author}', [Controllers\AuthorController::class, 'view']);
  31. Route::get('/author/{author}/delete', [Controllers\AuthorController::class, 'drop']);
  32. Route::get('/author/{author}/edit', [Controllers\AuthorController::class, 'edit']);
  33. Route::post('/author/{author}/edit', [Controllers\AuthorController::class, 'store']);
  34. Route::post('/author/{author}/comment', [Controllers\AuthorController::class, 'comment']);
  35. Route::post('/author/add', [Controllers\AuthorController::class, 'store']);
  36. // API
  37. Route::get('/api/authors', function() { return Resources\AuthorResource::collection(Models\Author::all()); });
  38. Route::get('/api/books', function() { return Resources\BookResource::collection(Models\Book::all()->load("author")); });