Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Algumas regras foram criadas:

    • O sistema irá guardar a resposta da requisição no LocalStorage obedecendo o tempo desde a execução.
      • Atualmente existem 2 tempos de Cache: O Diário (DailyCache) que dura por 24 horas desde o tempo da execução e o Temporário (TempCache) que dura 30 minutos desde o tempo de execução.
    • Além do tempo, o Cache necessita que uma chave seja criada para reconhecer se o que já está no Cache é reutilizável de modo a evitar que seja feita a chamada para o BackEnd.
      • A chave é composta por:
        • Host: Host da requisição - Ex: /juri/ ou url do Mingle;
        • EndpointClass: Classe do Endpoint - Ex: FWMODEL ou JURLEGALPROCESS;
        • URI: URI do endpoint - Ex: JURA095 ou SearchProces;
        • QueryParams: Parâmetros opcionais utilizados na requisição - Ex: FIRSTLEVEL ou EMPTYFIELD;
        • Valor Filtrado: Filtro informado nos Adapters para quando utilizamos o que o usuário digitou ou o ID que foi definido ao abrir a tela editando.
    • Exemplo: 
      • Para preencher o campo de Tipo de envolvimento com o Mingle ativo o sistema irá preencher a chave da seguinte forma:
        • HostEndpointClassURIQueryParamsValorFiltrado
          URL do MingleFWModelJURA009

          FirstLevel: False

          EmptyField: True

          VirtualField: True

          ""
      • Quando o usuário digitar "Aut" a chave ficará da seguinte forma:
        • HostEndpointClassURIQueryParamsValorFiltrado
          URL do MingleFWModelJURA009

          FirstLevel: False

          EmptyField: True

          VirtualField: True

          "Aut"
        • Com isso a chave será diferente, o que indica para o sistema que ele precisa realizar a chamada HTTP para o Protheus para buscar o novo response.
      • Se o usuário apagar o Aut a chave ficará da seguinte forma:
        • HostEndpointClassURIQueryParamsValorFiltrado
          URL do MingleFWModelJURA009

          FirstLevel: False

          EmptyField: True

          VirtualField: True

          ""
        • Com isso a chave ficará igual a que existe já em Cache. Se não passou o tempo de expiração do Cache o sistema irá reaproveitar o response antigo invés de refazer a consulta no Backend.

Para ativar o cache para uma determinada é necessário informar no service que a requisição será guardada é necessário definir qual o Tipo de Cache a ser utilizado conforme exemplo abaixo:

Bloco de código
languagejs
themeRDark
titleImplementação de chamada com Cacheable
async getDetailProcess(nCarregaLista: number = 0) {  
	this.fwmodel.restore();
	this.fwmodel.setChave(btoa(atob(this.filial) + this.cajuri))
	this.fwmodel.setModelo('JURA095');
	this.fwmodel.setFirstLevel(false);
	this.fwmodel.setCampoVirtual(true);
	this.fwmodel.setCacheType(ETypeCache.TEMP_CACHE) // Para o Cache temporário utilizar o ETypeCache.TEMP_CACHE. Para o Cache Diário utilizar o ETypeCache.DAILY_CACHE
 	this.fwmodel.get('getDetailProcess').subscribe(data => {
		// Código
	}
}



04. DEMAIS INFORMAÇÕES

05. ASSUNTOS RELACIONADOS

...