sapl
sapl copied to clipboard
Implementa Header LastModified na Api
Cria decorator externo à API que aplica nas respostas o Header LastModified.
- De forma padrão, com base na última alteração registrada em AuditLog dos registros pré-filtrados por filterset
- Permite customização no método last_modified_func do decorator, transferido sua chamada para o viewset, podendo assim mudar a abordagem baseada no AuditLog, para algo particular, como é o caso da customização criada como exemplo para matérias legislativas em
sapl.api.view_materia._MateriaLegislativaViewSet.last_modified_funcque isola o default do decorator e calcula LastModified com base no field data_ultima_atualizacao - permite o consumidor externo à api fazer consultas enviando "If-Modified-Since" e receber 304 de nada alterado, conforme imagem abaixo.
- adiciona de forma global ao 'axios' no frontend, headers para negar cache pelo navegador de suas poucas chamadas (carece de tratamento adequado com a finalidade de otimização em futuras impl no frontend - sugiro passar para Vite Vue3 antes de qualquer outra nova feature, isto se for mantido o vue em uma futura reformulação)