Comparte temporalmente la misma solicitud en el navegador.
El caché del navegador se utiliza con createCsrCache del Core, y solo se agrega callApiSsrCache de /next cuando se necesita caché de datos del servidor de Next.js.
El wrapper de caché también es parte de commonService.
El código de callApiClientCache/callApiServerCache de esta página explica solo la parte de caché del adaptador HTTP común del proyecto. Como el servicio generado puede configurarse para importar esta función, es más claro ver la ubicación y el rol de cada wrapper al observar primero la estructura de rxjsHttpService.ts/commonService.ts.
Caché CSR (caché del cliente)
createCsrCache<CacheName>()proporciona callApiCsrCache(callApiFn, serviceArgs, cacheOptions) y removeCsrCache(cacheName).
En el entorno del servidor, no se crea un mapa de caché CSR y se llama directamente a callApi. En el navegador, se comparte el resultado Observable de la misma clave de caché con shareReplay.
Adaptador de Next.js: callApiSsrCache
Es un helper SSR que utiliza next/cache(unstable_cache) de Next.js. Si es GET y cacheTime > 0, se utiliza force-cache + revalidate, y otras solicitudes se ejecutan con no-store.
- Se pueden inyectar Cookies/Authorization por solicitud con headersProvider.
- Se ejecuta onServer401 si existe en 401.
No cachear datos específicos del usuario
Cuando se agrupan navegador/servidor en un solo wrapper de proyecto
En el servicio común, el navegador puede dividirse en createCsrCache y el servidor en callApiSsrCache. Este es un patrón de configuración de proyecto y no es una estructura obligatoria del Core.
commonService.ts
tscommonService.ts
tsCuando se utiliza un wrapper de caché en el servicio de generación automática, este wrapper se conecta solo a los endpoints que necesitan funcionalidad de caché, y el resto utiliza callApi normalmente.