В настоящее время я создаю приложение с Laravel API и интерфейсом Vuejs. Для API я использую spatie/laravel-responsecache
пакет для обработки кэширования.
Если я захожу на URL непосредственно, например http://api.mysite.com/users
затем он получает данные и правильно их кэширует.
Однако, если URL, например, http://api.mysite.com/messages
(тот, который я непосредственно не посещал) выбирается через axios на внешнем интерфейсе, он не кэшируется. Опять же, если я пойду и зайду к нему напрямую, он будет кэширован, а затем, если я получу его с внешнего интерфейса, он будет кэширован.
Как заставить axios использовать кэширование на стороне сервера без предварительной загрузки URL-адреса?
Если вы посмотрите на профиль кэширования по умолчанию Вы можете видеть, что это ignores ajax requests
,
Скопируйте этот файл, переместите его в свой собственный код, удалите:
if ($request->ajax()) {
return false;
}
Затем обновите config/response_cache.php
подать и указать cache_profile
запись в ваш файл.
Других решений пока нет …