Метод withQueryParameters
Метод withQueryParameters применяется к экземпляру
HTTP-клиента Laravel и позволяет добавить параметры
строки запроса к выполняемому запросу. Первым параметром
передаётся массив параметров, которые будут добавлены
к URL-адресу. Метод возвращает тот же экземпляр клиента,
что позволяет строить цепочки вызовов.
Синтаксис
<?php
Http::withQueryParameters($params);
?>
Пример
Давайте добавим параметры фильтрации к запросу на получение списка статей:
<?php
use Illuminate\Support\Facades\Http;
$params = [
'category' => 'tech',
'limit' => 10,
];
$response = Http::withQueryParameters($params)
->get('https://api.example.com/articles');
$res = $response->json();
echo json_encode($res);
?>
Результат выполнения кода:
{"articles": ["article 1", "article 2", "article 3"]}
Пример
Давайте добавим параметры пагинации и сортировки к запросу:
<?php
use Illuminate\Support\Facades\Http;
$response = Http::withQueryParameters([
'page' => 2,
'sort' => 'desc',
'limit' => 5,
])->get('https://api.example.com/posts');
$res = $response->json();
echo json_encode($res);
?>
Результат выполнения кода:
{"posts": ["post 6", "post 7", "post 8", "post 9", "post 10"]}
Пример
Давайте объединим несколько параметров для поиска по различным критериям:
<?php
use Illuminate\Support\Facades\Http;
$searchParams = [
'query' => 'laravel',
'type' => 'package',
'rating' => 4,
];
$response = Http::withQueryParameters($searchParams)
->get('https://api.example.com/search');
$res = $response->json();
echo json_encode($res);
?>
Результат выполнения кода:
{"results": ["laravel/framework", "laravel/legacy-factories"]}
Пример
Давайте используем метод в цепочке с другими методами HTTP-клиента:
<?php
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([
'X-Request-Id' => '12345',
])->withQueryParameters([
'include' => 'comments',
'order' => 'asc',
])->get('https://api.example.com/users');
$res = $response->json();
echo json_encode($res);
?>
Результат выполнения кода:
{"users": ["user 1", "user 2", "user 3", "user 4", "user 5"]}
Смотрите также
-
метод
withHeaders,
который добавляет заголовки к запросу -
метод
withToken,
который добавляет токен авторизации к запросу -
метод
get,
который выполняет GET-запрос -
метод
json,
который преобразует ответ в массив данных