Spring Boot Filter vs Interceptor with Code Examples

🚀 Filter vs Interceptor in Spring Boot — With Code (No More Confusion!) Many developers know the theory… but struggle in real projects. Let’s make it crystal clear 👇 🔹 Filter (Servlet Level) 👉 Runs before DispatcherServlet 👉 Applies to ALL requests 💡 Use for: Logging, JWT extraction, CORS 🧩 Example: JwtFilter @Component public class JwtFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; String token = req.getHeader("Authorization"); if (token != null && token.startsWith("Bearer ")) { System.out.println("Filter → JWT Found"); } chain.doFilter(request, response); } } 🔹 Interceptor (Spring MVC Level) 👉 Runs before Controller 👉 Applies to specific APIs 💡 Use for: Authorization, validation, business logic 🧩 Example: HandlerInterceptor @Component public class JwtInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String token = request.getHeader("Authorization"); if (token == null) { response.setStatus(401); return false; } System. out.println("Interceptor → Authorized"); return true; } } 🧩 Register Interceptor @Configuration public class WebConfig implements WebMvcConfigurer { @Autowired private JwtInterceptor interceptor; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(interceptor) .addPathPatterns("/api/**"); } } ⚡ Execution Flow Request → Filter → DispatcherServlet → Interceptor → Controller 🔥 Golden Rule ✔ Filter = Global processing ✔ Interceptor = Controller-level logic 💡 Real-world usage Filter → Extract JWT Interceptor → Validate roles 👉 This is how clean microservices are built. 💬 Are you using Filter or Interceptor for authentication? #Java #SpringBoot #Microservices #Backend #Developers #Coding

  • graphical user interface, website

To view or add a comment, sign in

Explore content categories