Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从OncePerRequestFilter访问spring控制器上的方法注释_Java_Spring_Annotations_Spring Annotations - Fatal编程技术网

Java 如何从OncePerRequestFilter访问spring控制器上的方法注释

Java 如何从OncePerRequestFilter访问spring控制器上的方法注释,java,spring,annotations,spring-annotations,Java,Spring,Annotations,Spring Annotations,在OncePerRequestFilter(方法doFilterInternal)中,我希望访问最终将运行的控制器方法(理想情况下还有控制器本身)的信息。具体来说,我正在寻找该方法上的注释。是否有方法从doFilterInternal方法访问此内容 问题是,如果无法访问有关方法本身的信息集,我们必须查看过滤器中的url,以确定该方法是否属于此特定类别。像这样的人很快就会变丑 if (url == "foo" || url == "bar" ... etc) 理想情况下,我们可以说 if(met

在OncePerRequestFilter(方法doFilterInternal)中,我希望访问最终将运行的控制器方法(理想情况下还有控制器本身)的信息。具体来说,我正在寻找该方法上的注释。是否有方法从doFilterInternal方法访问此内容

问题是,如果无法访问有关方法本身的信息集,我们必须查看过滤器中的url,以确定该方法是否属于此特定类别。像这样的人很快就会变丑

if (url == "foo" || url == "bar" ... etc)
理想情况下,我们可以说

if(method.hasAnnotation(Blah.class)) //or however it would look

@Blah
public void controllerMethod(...){}

在方法层面上明确这一点会更简洁。有没有一种方法可以做到这一点,或者我缺少的其他方法?

什么是弹簧过滤器?您正在实现/扩展哪个接口/类?抱歉,我的意思是指定该接口/类。OncePerRequestFilter在Spring选择控制器和处理程序方法之前,一个
过滤器
会运行。请查看
HandlerInterceptor
。查看接受的答案。不久前我也有类似的问题。