В весенних ботинках вы можете использовать Interceptor. В перехватчике у вас будет доступ к HnadlerMethod, из которого вы можете узнать, какой метод службы вызывается и в каком ресурсе, и вы можете получить аннотацию погоды, присутствующую или нет.
Шаги: создайте перехватчик обработчика и зарегистрируйте его в контексте Spring, чтобы он был вызван. После вызова фильтра вызывается обработчик-перехватчик. Это похоже на то, что в остальном easy containerRequestFilter. Также, javax.servlet.Filter
вызывается перед containerFilter
, и здесь тоже.
Ссылка: https://docs.spring.io/spring/docs/3.0.x/javadoc-api/org/springframework/web/servlet/HandlerInterceptor.html `
@Configuration
public class HandlerIntercepter extends HandlerInterceptorAdapter
{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse
response, Object handler) throws Exception
{
System.out.println("handler called");
HandlerMethod handlerMethod = (HandlerMethod) handler;
Class<?> clazz = handlerMethod.getBeanType();
Method m = handlerMethod.getMethod();
if (clazz != null)
{
boolean isClzAnnotation =
clazz.isAnnotationPresent(RequireSignInClassLevel.class);
}
if (m != null)
{
boolean isMethondAnnotation =
m.isAnnotationPresent(RequireSignIn.class);
}
return true;
}}
@Component
public class AppConfig extends WebMvcConfigurerAdapter
{
@Autowired
HandlerIntercepter HandlerIntercepter;
@Override
public void addInterceptors(InterceptorRegistry registry)
{
registry.addInterceptor(HandlerIntercepter);
}
}`