Como gerar e apagar cache?

O controle de uso de cache na resposta às requisições às APIs é feito por interceptores.

Para criar cache e utilizá-lo nas chamadas, é necessário usar uma dupla de interceptores: o Cache Write é usado para criar o cache e o Cache Read é usado para retornar respostas a partir do cache que foi criado. Já para apagar o cache, é necessário utilizar o interceptor Cache Invalidation.

Vamos entender o funcionamento parte por parte.

Em primeiro lugar, é importante ter em mente que o cacheamento de respostas é manipulado a nível de operação. Então, se você estiver editando o fluxo de uma API e não encontrar os interceptores de cache, cheque o campo Operations, acima da visualização do fluxo. Se você tiver selecionado a opção "All", os interceptors de cache não serão exibidos. Nesse caso, selecione uma operação específica para ver os interceptores e, se desejar, arrastá-los para o fluxo.

Para cachear uma resposta, o interceptor Cache Write deve ser inserido no fluxo de resposta de uma operação. Se a requisição for bem-sucedida, o Manager criará um cache com base nas configurações informadas. Para que o sistema utilize a resposta armazenada em memória, é necessário incluir o interceptor Cache Read no fluxo de requisição da operação. Note que o "Cache Name" configurado deve ser o mesmo em ambos os interceptores.

Para apagar a resposta armazenada em memória, insira o interceptor Cache Invalidation no fluxo de requisição ou resposta de uma operação, com o mesmo "Cache Name" configurado nos interceptores Cache Write e Cache Read.

Para limpar o cache todo (bem como controlar o volume de cache), vá até Settings  Cache Control (a página só aparece se seu usuário tiver permissão de "Cache Control" — por padrão, só para Super Admins). Veja mais sobre o controle de cache aqui.

Em casos onde a resposta da chamada é tratada por um Custom Interceptor, é necessário usar um outro Custom Interceptor para interromper o fluxo quando o Cache Read está populado. Isso evita que ocorra erro de tratamento no cache. O interceptor que interromperá o fluxo deve ser inserido em qualquer posição após o interceptor de Cache Read.
Thanks for your feedback!
EDIT
How useful was this article to you?