При работе с внешними API нередко требуется повторно использовать один и тот же ответ, чтобы снизить нагрузку и ускорить работу приложения. Laravel HTTP Client поддерживает встроенное кэширование ответов, что позволяет сохранять результаты на заданное время.
Для этого применяется метод
withCache(), в который передаётся объект CacheStore и время жизни кэша. При повторном обращении в пределах указанного времени будет возвращаться сохранённый результат, без повторного запроса к API.use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Cache;
// Кэшируем ответ на 60 секунд
$response = Http::withCache(Cache::store('file'), 60)
->get('https://api.example.com/posts');
// Проверяем статус
if ($response->ok()) {
$posts = $response->json();
}
Такой подход полезен, например, при интеграции с сервисами, где данные обновляются редко, а количество запросов ограничено.
👉 @web_craft | #laravel
