Метод patch
Метод patch класса Http применяется для отправки PATCH-запросов к внешним сервисам. Он принимает первым параметром URL-адрес, вторым - массив данных для отправки, третьим - массив заголовков. Метод возвращает экземпляр Response, с помощью которого можно получить ответ от сервера.
Синтаксис
<?php
use Illuminate\Support\Facades\Http;
$res = Http::patch($url, $data, $headers);
?>
Пример
Давайте отправим PATCH-запрос для частичного обновления статьи с id равным 1:
<?php
use Illuminate\Support\Facades\Http;
$data = ['title' => 'Updated title', 'status' => 'draft'];
$res = Http::patch('https://api.example.com/posts/1', $data);
echo $res->status();
echo $res->body();
?>
Результат выполнения кода:
"200"
"{"id":1,"title":"Updated title","status":"draft"}"
Пример
Отправим PATCH-запрос с добавлением заголовка 'X-Requested-With' и передачей данных в формате JSON:
<?php
use Illuminate\Support\Facades\Http;
$data = ['content' => 'New content for article'];
$headers = ['X-Requested-With' => 'XMLHttpRequest'];
$res = Http::withHeaders($headers)->patch('https://api.example.com/posts/1', $data);
if ($res->successful()) {
$post = $res->json();
echo $post['content'];
} else {
echo 'Error: ' . $res->status();
}
?>
Результат выполнения кода:
"New content for article"
Пример
Отправим PATCH-запрос с передачей параметров запроса в URL:
<?php
use Illuminate\Support\Facades\Http;
$url = 'https://api.example.com/posts/1?fields=id,title,content';
$data = ['title' => 'Updated title'];
$res = Http::patch($url, $data);
if ($res->failed()) {
echo 'Request failed with status: ' . $res->status();
} else {
$post = $res->object();
echo $post->id;
echo $post->title;
echo $post->content;
}
?>
Результат выполнения кода:
"1"
"Updated title"
"Old content"