Ой, ничего не найдено!

К сожалению, по вашему запросу пока ничего нет (но это только пока!), зато вы можете подписаться на нашу замечательную email-рассылку, чтобы не пропустить самое интересное в будущем.

  • 92

API маршруты в Laravel 12

  • 2 минуты на чтение

В Laravel 12 маршруты делятся на два основных типа: web (обычные маршруты) и API. Их ключевые отличия связаны с назначением и конфигурацией:

📌 1. Отличия простых (web) маршрутов от API маршрутов:

Отличия простых (web) маршрутов от API маршрутов

📌 2. Примеры определения маршрутов

Обычный (web) маршрут (файл: routes/web.php):

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

API-маршрут (файл: routes/api.php):

Route::get('/posts', function () {
    return response()->json(['message' => 'Список постов']);
});

Этот маршрут по умолчанию доступен через URL:

GET /api/posts

📌 3. Как реализовать маршрут для API в Laravel 12 (пошагово):

Шаг 1: Создайте маршрут в файле routes/api.php

use App\Http\Controllers\Api\PostController;

Route::get('/posts', [PostController::class, 'index']);

Этот маршрут автоматически получит префикс /api, то есть будет доступен по адресу:

GET /api/posts
Специальное предложение: бесплатный хостинг на полгода!
Введите промокод FREE6MONTH при регистрации и наслаждайтесь надежным хостингом бесплатно.

Шаг 2: Создайте API-контроллер (опционально):

sail artisan make:controller Api/PostController --api

Это создаст контроллер с заготовками RESTful методов: index, store, show, update, destroy.

Шаг 3: Заполните метод контроллера:

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Models\Post;

class PostController extends Controller
{
    public function index()
    {
        $posts = Post::all();

        return response()->json($posts);
    }
}

📌 4. Полезные советы при работе с API в Laravel:

  • Для возврата корректных JSON-ответов используйте метод response()->json().
  • Для обработки ошибок и исключений настройте API Exception Handler (app/Exceptions/Handler.php) с кастомными ответами.
  • Чтобы защитить маршруты API, используйте middleware auth:sanctum (для авторизации с Sanctum-токенами):
Route::middleware('auth:sanctum')->group(function () {
    Route::get('/user', fn(Request $request) => $request->user());
});

📌 5. Регистрация маршрутов API (где это происходит):

Файл app/Providers/RouteServiceProvider.php содержит регистрацию маршрутов:

Route::middleware('api')
     ->prefix('api')
     ->group(base_path('routes/api.php'));

Т.е. маршруты из файла routes/api.php:

  • Автоматически получают middleware api.
  • Получают префикс /api.

Таким образом, в Laravel 12:

  • web маршруты используют middleware web, сессии и предназначены для веб-интерфейсов.
  • api маршруты используют middleware api, не используют сессии, предназначены для RESTful API, возвращают JSON.

Используя эти рекомендации, вы легко сможете организовать API в своем приложении Laravel.

Хостинг, на который можно положиться!
Siteko.net

Устали от медленного хостинга или дорогих тарифов? Тогда вам к нам! Siteko.net — это быстрый и простой хостинг для тех, кто ценит удобство и стабильность.

  • Без падений и нервов — наш uptime почти всегда 100%.
  • Гибкие тарифы — только нужные функции, ничего лишнего.
  • Скорость— сайты грузятся, как пуля!
  • Удобно — разобраться сможет даже новичок, всё под рукой.
  • Поддержка всегда рядом 24/7 поможем решить любой вопрос.

Заходите на Siteko.net и попробуйте нас бесплатно первый месяц! Мы делаем всё, чтобы ваш сайт работал без проблем.

Siteko.net — просто, быстро и надёжно!