Розуміння різниці між веб-маршрутами та API маршрутами в Laravel

pic

Що таке Laravel?

Laravel — це безкоштовний і відкритий фреймворк для PHP, спеціально розроблений для створення веб-додатків.

Основні можливості: Він має набір вбудованих функціональностей, таких як маршрутизація, валідація, кешування, черги та зберігання файлів.

У цьому пості розглянемо маршрутизацію.

Що таке маршрути?

Маршрути в Laravel з'єднують URL-адреси з конкретними діями або контролерами, дозволяючи додатку ефективно обробляти різні запити. Вони підтримують HTTP-методи, такі як GET, POST і DELETE, а також можуть включати динамічні параметри для гнучкої обробки URL-адрес.

Маршрути визначаються в таких файлах, як web.php для веб-сторінок та api.php для API-запитів, забезпечуючи чистий і підтримуваний код.

Основні компоненти маршруту

  1. Шлях URL: Частина URL, яка активує маршрут.
  2. HTTP-метод: HTTP-дієслово (наприклад, GET, POST), яке пов'язане з маршрутом.
  3. Логіка/Обробник: Функція або контролер, що обробляє запит.

Основні відмінності між веб-маршрутами та API-маршрутами

pic

Дослідження веб-маршрутів

Веб-маршрути визначаються в файлі routes/web.php. Ці маршрути призначені для взаємодії через браузер.

Ось приклади базових веб-маршрутів

Базовий GET маршрут

Route::get('/medium', function () {  
 return view('medium');  
});

Маршрут чекає на GET запит до /medium, що повертає вигляд medium.

Маршрут з контролером

Route::get('/medium', [MediumController::class, 'index']);

Маршрут чекає на GET запит до /medium і викликає метод index контролера MediumController.

Базовий POST маршрут

Route::post('/submit', [FormController::class, 'submit']);

Маршрут чекає на POST запит до /submit і викликає метод submit контролера FormController.

Маршрут з параметрами

Route::get('/user/{id}', function ($id) {  
 return 'User ID: ' . $id;  
});

Маршрут чекає на GET запит до /user/{id} і повертає ідентифікатор користувача, переданий в URL.

Основні можливості веб-маршрутів

  • Автоматично застосовує групу проміжного ПЗ web, яка включає обробку сесій, захист від CSRF та управління файлами cookie.
  • Ідеальні для додатків з формами, динамічними HTML-сторінками та аутентифікацією користувачів, що базується на сесіях.

Дослідження API маршрутів

API маршрути визначаються в файлі routes/api.php. Ці маршрути призначені для обробки RESTful API кінцевих точок.

Ось приклади базових API маршрутів

Route::get('/users', [UserController::class, 'index']);  
Route::post('/users', [UserController::class, 'store']);

Основні можливості API маршрутів

  • Використовує групу проміжного ПЗ api, що робить маршрути безстанними і включає функції, як обмеження швидкості.
  • Не підтримує сесії або файли cookie, що забезпечує безстанну комунікацію.
  • Переважно повертає відповіді у форматі JSON, дотримуючись стандартів API.

Проміжне ПЗ: Основні відмінності між веб і API маршрутами в Laravel

Проміжне ПЗ є ключовою різницею між веб і API маршрутами в Laravel, оскільки воно впливає на їх поведінку наступним чином:

Група веб-проміжного ПЗ

  • Обробляє сесії та захист від CSRF.
  • Керує файлами cookie та аутентифікацією.

Приклад використання проміжного ПЗ ['web']

Route::get('/dashboard', function () {  
 return view('dashboard');  
})->middleware('web');

Група API-проміжного ПЗ

  • Дозволяє безстанну комунікацію для кращої продуктивності.
  • Використовує обмеження швидкості для підвищення безпеки та запобігання зловживанням.

Приклад використання проміжного ПЗ ['api']

Route::get('/users', [UserController::class, 'index'])->middleware('api');

Коли використовувати веб-маршрути або API-маршрути
API Routes**

Використовуйте веб-маршрути, коли:

  • Ваш додаток повертає Blade вигляди або HTML відповіді.
  • Потрібна аутентифікація на основі сесій.
  • Користувачі взаємодіють з формами, для яких необхідний захист від CSRF.

Використовуйте API маршрути, коли:

  • Ви розробляєте RESTful API або бекенд-сервіс.
  • Кінцеві точки споживаються мобільними додатками, фронтенд фреймворками або сторонніми системами.
  • JSON відповіді є основним форматом виводу.

Висновок

У Laravel веб-маршрути та API маршрути обробляють запити різними способами. Веб-маршрути призначені для традиційних веб-додатків з повними інтерфейсами користувача. API маршрути використовуються для легких, безстанних взаємодій в сучасних додатках. Розуміння цих відмінностей допомагає розробникам ефективно структурувати свої додатки.

Сподобалась стаття? Якщо у вас є питання або коментарі, буду радий почути вашу думку — дайте знати, чи була ця стаття корисною!
Не забудьте поставити лайк, поділитись і підписатися на нові цікаві технічні блоги та оновлення!
🙂

Перекладено з: Understanding the Difference Between Web and API Routes in Laravel

Leave a Reply

Your email address will not be published. Required fields are marked *