Метод successful
Метод successful применяется к объекту ответа, который возвращается методами HTTP-клиента Laravel, и проверяет, находится ли код состояния ответа в диапазоне успешных статусов (200-299). Метод возвращает true, если код ответа указывает на успешное выполнение запроса. Первым и единственным параметром передавать ничего не требуется.
Синтаксис
<?php
$response->successful();
?>
Пример
Давайте проверим успешность GET-запроса к внешнему API:
<?php
use Illuminate\Support\Facades\Http;
$res = Http::get('https://api.example.com/users');
if ($res->successful()) {
echo "Запрос выполнен успешно";
} else {
echo "Произошла ошибка при выполнении запроса";
}
?>
Результат выполнения кода:
"Запрос выполнен успешно"
Пример
Давайте проверим успешность POST-запроса с данными:
<?php
use Illuminate\Support\Facades\Http;
$data = ['title' => 'abcde', 'content' => 'text'];
$res = Http::post('https://api.example.com/posts', $data);
if ($res->successful()) {
$postData = $res->json();
echo "Пост создан с ID: " . $postData['id'];
} else {
echo "Ошибка при создании поста";
}
?>
Результат выполнения кода:
"Пост создан с ID: 1"
Пример
Давайте используем метод в цепочке с методом throw для обработки ошибок:
<?php
use Illuminate\Support\Facades\Http;
$res = Http::get('https://api.example.com/users/5');
if ($res->successful()) {
$user = $res->object();
echo "Пользователь найден: " . $user->name;
} else {
$status = $res->status();
echo "Запрос завершился с кодом: " . $status;
}
?>
Результат выполнения кода:
"Пользователь найден: John Doe"