Завжди відображайте API-виключення у форматі JSON в Laravel

Перекладено ШІ 3 Laravel News 02 червня, 2026

Вам цікаво дізнатися, як легко зробити так, щоб API завжди повертав JSON-формат для виключень у Laravel 11 без використання додаткового middleware? Читайте далі, щоб дізнатися про простий та ефективний спосіб налаштування обробки помилок у ваших API-маршрутах!

Чи коли-небудь ви реалізовували повернення JSON у відповідь на запити API за допомогою кастомного проміжного програмного забезпечення, подібного до наведеного нижче?

class ForceJsonResponse
{
    public function handle(Request $request, Closure $next)
    {
        $request->headers->set('Accept', 'application/json');
 
        return $next($request);
    }
}

Laravel 11 надає зручний спосіб зробити це без додаткового проміжного програмного забезпечення. Це особливо корисно, якщо ви тестуєте API маршрути у веб-браузері та завжди отримуєте JSON, навіть без налаштування заголовка Accept на application/json чи використання наведеного вище коду:

// bootstrap/app.php
 
return Application::configure(basePath: dirname(__DIR__))
 
    //...
 
    ->withExceptions(function (Exceptions $exceptions) {
        $exceptions->shouldRenderJsonWhen(function (Request $request, Throwable $e) {
            if ($request->is('api/*')) {
                return true;
            }
 
            return $request->expectsJson();
        });
    })->create();

Метод shouldRenderJsonWhen() гарантує, що будь-які виключення, що виникають під час запиту API, будуть відображені у форматі JSON. Окрім виключень, вам потрібно стежити, щоб звичайні відповіді також повертали JSON.

Ця порада походить із документації, яка також містить корисні поради щодо обробки виключень, налаштування відповідей на помилки та багато іншого!

Популярні

Інше, що варто прочитати

173 Оновлено 01 червня, 2026

Використання повнотекстового пошуку в Laravel

Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом

11 Оновлено 01 червня, 2026

Локальні моделі та їх скоупи в Laravel за допомогою атрибута Scope

В Laravel 12 ми отримали можливість використовувати новий підхід для визначення локальних скоупів у моделях Eloquent. Дізнайтеся, як новий атрибут #[Scope] спрощує цей процес і зберігає ваші назви методів незмінними

18 Оновлено 01 червня, 2026

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!