springboot拦截器问题:
拦截器TokenInterceptor实现HandlerInterceptor接口写了,也写上了Component注解;也继承WebMvcConfigurer接口设置了拦截路径。
在前端点击登陆后,进入controller后只会进行到创建token的前一步,然后会被拦截器拦截,求解为什么在创建token前一步会被拦截呀?如下图
Spring Boot拦截器会在Controller的方法内部进行拦截,但是需要注意的是,拦截器的执行顺序是在Controller方法执行之前和之后,而不是在方法内部进行拦截。
拦截器的执行顺序是由拦截器的顺序决定的,可以通过实现org.springframework.core.Ordered接口或使用@Order注解来指定拦截器的顺序。在同一个拦截器链中,拦截器的执行顺序是按照它们的顺序依次执行的。
在Controller方法内部可以通过HandlerInterceptor接口提供的方法来获取请求和响应的信息,但是在方法内部进行拦截需要注意以下几点:
拦截器的执行顺序是在Controller方法执行之前和之后,因此在方法内部进行拦截可能会影响到Controller方法的执行顺序和结果。
拦截器的执行顺序是由拦截器的顺序决定的,因此如果有多个拦截器,需要注意它们的执行顺序。
在方法内部进行拦截可能会导致代码的可读性和可维护性降低,因此建议在Controller方法外部进行拦截。