spring boot registered interceptors

   Interceptors are moving to intercept the object Action calls. It provides a mechanism that enables developers to define an action performed before or after the code execution, which may also prevent an action performed before execution, but also provided a way to extract the action part reusable. In AOP (Aspect-Oriented Programming) prior interceptor for a method or field is accessed, and the intercept is added before or after certain operations.

  How to add interceptors in spring boot in?

  1. First, realize his interceptor

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MyInterceptor implements HandlerInterceptor{
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("preHandler");
        return true;//这里一定要返回true要不然后面的不会执行
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("postHandler");
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("afterHandler");
    }
}

  2. WebMvcConfigurer implement the interface and override the method addInterceptors

@Configuration
 public  class WebMvcConfig the implements WebMvcConfigurer { 

    @Override 
    public  void addInterceptors (InterceptorRegistry Registry) { 
        registry.addInterceptor (myInterceptor ()) addPathPatterns (. "/ **" ); // own interceptor registered to the spring and add intercept path 
    } 
    @Bean 
    myInterceptor myInterceptor () { 
        return  new new myInterceptor (); // provide their own interceptor the bean 
    } 
}

  3. Create a test controller

@RestController
public class HelloController {
@GetMapping("gethello")
public String getHello(){
System.out.println("get hello");
return "get hello";
}
}

  4. Test results

Guess you like

Origin www.cnblogs.com/hopeofthevillage/p/11741422.html