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

Метод patch

Метод patch класса Route регистрирует маршрут, который реагирует на входящие HTTP-запросы с методом PATCH. Этот метод обычно используется для частичного обновления ресурсов, когда клиент отправляет только те поля, которые необходимо изменить. Первым параметром передаётся URI маршрута, вторым - вызываемый обработчик, который может быть замыканием или строкой, указывающей на контроллер и метод.

Синтаксис

<?php use Illuminate\Support\Facades\Route; Route::patch($uri, $action); ?>

Пример

Давайте зарегистрируем простой маршрут, который обрабатывает PATCH-запросы по адресу '/user/{id}' и возвращает приветственное сообщение:

<?php use Illuminate\Support\Facades\Route; Route::patch('/user/{id}', function ($id) { return "User $id has been partially updated"; }); ?>

Результат выполнения кода при PATCH-запросе на '/user/5':

"User 5 has been partially updated"

Пример

Давайте зарегистрируем маршрут, который использует контроллер для обработки частичного обновления ресурса:

<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\UserController; Route::patch('/user/{id}', [UserController::class, 'updatePartial']); ?>
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function updatePartial(Request $request, $id) { $validated = $request->validate([ 'name' => 'sometimes|string|max:255', 'email' => 'sometimes|email|unique:users,email,' . $id, ]); // Logic for partial user update return response()->json([ 'message' => "User $id partially updated", 'data' => $validated ]); } } ?>

Результат выполнения кода при PATCH-запросе с JSON-телом:

{ "message": "User 10 partially updated", "data": { "name": "John Doe" } }

Пример

Давайте зарегистрируем группу маршрутов с общим префиксом, используя метод patch для частичного обновления нескольких ресурсов:

<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\PostController; use App\Http\Controllers\CommentController; Route::prefix('api/v1')->group(function () { Route::patch('/posts/{id}', [PostController::class, 'updatePartial']); Route::patch('/comments/{id}', [CommentController::class, 'updatePartial']); }); ?>

Результат выполнения кода при PATCH-запросе на '/api/v1/posts/3':

{ "message": "Post 3 partially updated", "data": { "title": "Updated title", "content": "Updated content" } }

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

  • метод get,
    который регистрирует маршрут для GET-запросов
  • метод post,
    который регистрирует маршрут для POST-запросов
  • метод put,
    который регистрирует маршрут для PUT-запросов
  • метод delete,
    который регистрирует маршрут для DELETE-запросов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить