<? phpukraine ІНСТРУМЕНТИ
Пошук по платформі

Довідник HTTP-кодів відповіді

Коли повертати кожен код і як це виглядає в Laravel або Symfony.

У БРАУЗЕРІ ДОВІДНИК
РОБОЧА ЗОНА
ЩО РОБИТЬ

Відповідає на питання «який код тут правильний»

Проблема не в тому, щоб згадати, що 404 це «не знайдено», а в тому, щоб вибрати між 400, 409 і 422, коли запит формально валідний, але зробити його не можна. У довіднику до кожного коду написано, у якій саме ситуації його повертати, і показано, як це зробити в Laravel і Symfony.

ЯК ЦЕ ПРАЦЮЄ В PHP

У PHP код відповіді ставиться через http_response_code або через обʼєкт відповіді фреймворку. У Laravel зручніше через response()->json($data, 422) чи через винятки, які самі перетворюються в потрібний код: ValidationException дає 422, ModelNotFoundException 404, AuthorizationException 403.

// Laravel: винятки самі стають кодами
throw ValidationException::withMessages([
    'email' => 'Уже зареєстрований',
]);                                  // → 422

abort(404);                          // → 404 з вашою сторінкою
return response()->noContent();      // → 204

// Symfony
return new JsonResponse($data, Response::HTTP_UNPROCESSABLE_ENTITY);
ПИТАННЯ

Що питають про цей інструмент

400 означає, що сервер не зміг розібрати запит: битий JSON, відсутній обовʼязковий параметр, невірний Content-Type. 422 запит розібрано, структура правильна, але значення не проходять правила: email уже зайнятий, дата в минулому. Для валідації форми правильний 422, і саме його повертає Laravel.

ДАЛІ ПО ТЕМІ