HandlerMethod Spring mvc中的类强制转换异常

时间:2016-02-17 06:35:50

标签: java spring spring-mvc

我想创建修改请求的自定义注释。所以创建这个注释。

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
 boolean test() default true;
}

以及从HandlerInterceptorAdapter扩展的MyInceptor类。现在在这个类的preHndler方法中我想将处理程序强制转换为HandlerMethod。但是出现了一个异常。对于这个异常,我把一个条件“if(handler instanceof HandlerMethod)”但是处理程序没有强制转换为处理程序方法atall。 如何处理这个问题?

public boolean preHandle(HttpServletRequest request,
                         HttpServletResponse response, Object handler)
        throws Exception {
    MyAnnotation myAnnotation = null;
    if (handler instanceof HandlerMethod) {
        HandlerMethod handlerMethod = (HandlerMethod ) handler;
       //other 
    }
}

更新 发生这种异常。

       java.lang.ClassCastException: org.springframework.web.servlet.mvc.ParameterizableViewController cannot be cast to org.springframework.web.method.HandlerMethod

0 个答案:

没有答案