Метод baseUrl
Метод baseUrl применяется к фасаду Http
и возвращает тот же экземпляр клиента, дополненный
базовым URL. Первым и единственным параметром
передаётся строка с базовым адресом API или сервера.
После установки базового URL все методы запросов
(get, post, put и другие) будут
использовать его в качестве префикса.
Синтаксис
<?php
use Illuminate\Support\Facades\Http;
Http::baseUrl($url);
?>
Пример
Давайте установим базовый URL для работы с API и выполним GET-запрос:
<?php
use Illuminate\Support\Facades\Http;
$res = Http::baseUrl('https://api.example.com')
->get('/users');
echo $res->body();
?>
Результат выполнения кода:
"{"users":[{"id":1,"name":"John"},{"id":2,"name":"Jane"}]}"
Пример
Давайте отправим POST-запрос с данными на тот же базовый URL:
<?php
use Illuminate\Support\Facades\Http;
$res = Http::baseUrl('https://api.example.com')
->post('/users', [
'name' => 'Alice',
'email' => 'alice@example.com',
]);
echo $res->status();
?>
Результат выполнения кода:
"201"
Пример
Базовый URL можно использовать с относительными путями для упрощения кода при множестве запросов:
<?php
use Illuminate\Support\Facades\Http;
$client = Http::baseUrl('https://api.example.com');
$users = $client->get('/users')->json();
$posts = $client->get('/posts')->json();
$comments = $client->get('/comments')->json();
echo count($users);
echo count($posts);
echo count($comments);
?>
Результат выполнения кода:
"10"
"25"
"50"
Смотрите также
-
метод
get,
который выполняет GET-запрос -
метод
post,
который выполняет POST-запрос -
метод
withHeaders,
который добавляет заголовки к запросу -
метод
timeout,
который устанавливает таймаут запроса