DEV Community

Igor Rudel
Igor Rudel

Posted on

1

Interceptor: Um Design Pattern muito útil!

Nesse período de quase 9 anos como desenvolvedor, um dos padrões de projetos que mais me auxiliou em muitos momentos foi o Interceptor. Esse padrão aliado ao paradigma de programação orientada a aspectos (AOP) facilita muito aplicar comportamentos, filtros, entre outros artifícios aplicáveis em sistemas, principalmente os web.

É um padrão adotado por vários recursos/ferramentas existentes e muitos deles usados no dia a dia, como por exemplo o Security do Spring. O módulo de segurança do Spring intercepta todas as requisições e se baseia em informações da requisição para validar autenticação e/ou autorização.

O Security é um exemplo, existem outros como @ControllerAdvice + @ExceptionHandler, em camadas web RequestInterceptor ou ResponseInterceptor (Spring Web, RestTemplate e Feign), interceptor do Hibernate, etc...

Mencionei aplicações de interceptor's em recursos de bibliotecas Java... mas recursos/ferramentas/frameworks de outras linguagens também possuem aplicação de Interceptor!

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up