Метод post
Метод post класса Http предназначен для выполнения POST-запросов к внешним ресурсам. Он принимает два обязательных параметра: URL-адрес и массив данных для отправки. Третьим параметром можно передать массив дополнительных опций, таких как заголовки, таймаут и другие настройки. Метод возвращает экземпляр класса Response, который содержит ответ сервера, статусный код и заголовки.
Синтаксис
<?php
use Illuminate\Support\Facades\Http;
Http::post($url, $data);
?>
Пример
Отправим POST-запрос на внешний API для создания новой записи:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Http;
class PostController extends Controller
{
public function store()
{
$response = Http::post('https://api.example.com/posts', [
'title' => 'Laravel HTTP Client',
'body' => 'Using Http::post method',
'user_id' => 1,
]);
echo $response->status();
}
}
?>
Результат выполнения кода:
201
Пример
Отправим POST-запрос с пользовательскими заголовками:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Http;
class UserController extends Controller
{
public function create()
{
$response = Http::withHeaders([
'Authorization' => 'Bearer token123',
'X-Custom-Header' => 'custom-value'
])->post('https://api.example.com/users', [
'name' => 'John Doe',
'email' => 'john@example.com',
]);
echo $response->successful();
}
}
?>
Результат выполнения кода:
true
Пример
Отправим POST-запрос с обработкой ошибки:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Http;
class ApiController extends Controller
{
public function send()
{
$response = Http::post('https://api.example.com/data', [
'key1' => 'value1',
'key2' => 'value2',
]);
if ($response->failed()) {
echo $response->status();
} else {
echo $response->json();
}
}
}
?>
Результат выполнения кода при успешном запросе:
["status": "success", "data": ["id": 1, "message": "Data saved"]]
Смотрите также
-
метод
get,
который выполняет GET-запрос к внешнему ресурсу -
метод
put,
который отправляет PUT-запрос для обновления данных -
метод
delete,
который выполняет DELETE-запрос для удаления данных -
метод
withHeaders,
который добавляет пользовательские заголовки к запросу