如何在spring过滤器中获取方法名称

时间:2017-06-15 21:53:32

标签: java spring spring-mvc filter

我想在filter方法中从请求中检索方法名称或类名。

请让我知道任何可能的方法。

提前致谢。

2 个答案:

答案 0 :(得分:4)

我可以使用下面的代码段来实现。谢谢你的时间。

 RequestMappingHandlerMapping mappings1 = (RequestMappingHandlerMapping) ApplicationContextHolder.getBean("requestMappingHandlerMapping");
        Map<RequestMappingInfo, HandlerMethod> handlerMethods = mappings1.getHandlerMethods();
        HandlerExecutionChain handler = mappings1.getHandler(httpServletRequest);
        if(Objects.nonNull(handler)){
            HandlerMethod handler1 = (HandlerMethod) handler.getHandler();}

答案 1 :(得分:1)

从我可以理解的问题来看,您希望从Web过滤器中检索一些信息(如Spring的OncePerRequestFilter等)

  

从过滤方法

中的请求中检索方法名称或类名称

此时,没有类或方法,它只是一个httpInputStream。您所能做的只是字节操作,或者将其作为字符串读取并执行String操作,或者将其反序列化为更多结构化(例如使用Jackson将json字符串反序列化为Java对象/使用JAXB将XML反序列化为Java对象)