РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
491 of 1392 menu

Метод json

Метод json класса Response применяется для создания HTTP-ответа в формате JSON. Первым параметром передаются данные для преобразования в JSON, вторым - HTTP-статус код, третьим - массив дополнительных заголовков. Метод автоматически устанавливает заголовок Content-Type в application/json.

Синтаксис

<?php response()->json($data, $status, $headers); ?>

Пример

Давайте вернём простой JSON-ответ с данными пользователя:

<?php use Illuminate\Support\Facades\Route; Route::get('/user', function () { $res = [ 'id' => 1, 'name' => 'John Doe', 'email' => 'john@example.com' ]; return response()->json($res); }); ?>

Результат выполнения кода:

{ "id": 1, "name": "John Doe", "email": "john@example.com" }

Пример

Давайте вернём JSON-ответ со статусом 201 Created:

<?php use Illuminate\Support\Facades\Route; Route::post('/article', function () { $res = [ 'message' => 'Article created successfully', 'article' => [ 'id' => 1, 'title' => 'New Article', 'content' => 'Article content here' ] ]; return response()->json($res, 201); }); ?>

Результат выполнения кода:

{ "message": "Article created successfully", "article": { "id": 1, "title": "New Article", "content": "Article content here" } }

Пример

Давайте вернём JSON-ответ с дополнительными заголовками:

<?php use Illuminate\Support\Facades\Route; Route::get('/data', function () { $res = ['status' => 'success', 'data' => [1, 2, 3, 4, 5]]; $headers = [ 'X-Custom-Header' => 'CustomValue', 'X-Request-Id' => '12345' ]; return response()->json($res, 200, $headers); }); ?>

Результат выполнения кода:

{ "status": "success", "data": [1, 2, 3, 4, 5] }

Пример

Давайте вернём JSON-ответ с коллекцией моделей Eloquent:

<?php use Illuminate\Support\Facades\Route; use App\Models\User; Route::get('/users', function () { $res = User::where('status', 'active')->get(); return response()->json($res); }); ?>

Результат выполнения кода:

[ { "id": 1, "name": "John Doe", "email": "john@example.com", "status": "active" }, { "id": 3, "name": "Jane Smith", "email": "jane@example.com", "status": "active" } ]

Смотрите также

  • класс Response,
    который является основным классом для создания HTTP-ответов
  • класс JsonResponse,
    который используется для более тонкой настройки JSON-ответов
  • метод json,
    который позволяет получить JSON-данные из запроса
  • метод header,
    который добавляет заголовки к HTTP-ответу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить