Я нашел решение. Прежде всего, я сделал CustomHttpCacheInterceptor
, который расширяет CacheInterceptor
:
@Injectable()
export default class CustomHttpCacheInterceptor extends CacheInterceptor {
httpServer: any;
trackBy(context: ExecutionContext): string | undefined {
const request = context.switchToHttp().getRequest();
const isGetRequest = request.method === 'GET';
const requestURl = request.path;
const excludePaths = ['/my/custom/route'];
if (
!isGetRequest ||
(isGetRequest && excludePaths.some(url => requestURl.includes(url)))
) {
return undefined;
}
return requestURl;
}
}
, а затем добавляю его как глобальный перехватчик кэша в app.module
//...
providers: [
AppService,
{
provide: APP_INTERCEPTOR,
useClass: CustomHttpCacheInterceptor,
},
],
//...