2012-09-03 33 views

Trả lời

4

Có một thread trong diễn đàn mùa xuân, nơi người nào đó nói, không có "cách dễ dàng", vì vậy tôi cho rằng bạn sẽ phải phân tích URL để tải xuống.

+1

Thực ra câu trả lời của @ashario ở trên (http://stackoverflow.com/a/23468496/35274) cho thấy rằng nó có thể được thực hiện. – Philippe

3

Gần 1 năm đã quá muộn, nhưng:

  String[] requestMappingParams = ((HandlerMethod)handler).getMethodAnnotation(RequestMapping.class).params() 

     for (String value : requestMappingParams) {... 

sẽ giúp

+0

điều này có vẻ hữu ích khi truy xuất RequestParams nhưng tôi không thấy cách lấy giá trị của PathVariables bằng cách tiếp cận này – chrismarx

42

Các chủ đề liên quan đến bằng cách Pao làm việc một điều trị cho tôi

Trong phương pháp preHandle(), bạn có thể trích xuất các các PathVariables khác nhau bằng cách chạy mã sau đây

Map pathVariables = (Map) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE); 
+6

và sau đó 'String value = (String) pathVariables.get (" yourPathVarName ");' đó là nó. Điều này sẽ được đánh dấu là câu trả lời – spiderman

+1

Hoàn hảo, mã ví dụ cũng hoạt động với '@ ControllerAdvice' và' @ ExceptionHandler'. Cảm ơn – Andreas

+1

Tại sao điều này không được đánh dấu là câu trả lời đúng? – Philippe

0

Đây có phải là những gì bạn đang tìm kiếm?

ConfigClass extends WebMvcConfigurerAdapter { 
@Override 
    public void addInterceptors(InterceptorRegistry registry) { 
     registry.addInterceptor(new HandlerInterceptor() { 
      @Override 
      public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { 
       System.out.println("Request Url: " + request.getRequestURL().toString()+ "?" + request.getQueryString()); 
       return true; 
      } 
      @Override 
      public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { 
       // TODO Auto-generated method stub 
      } 
      @Override 
      public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { 
       // TODO Auto-generated method stub 
      } 
     }); 
     super.addInterceptors(registry); 
    } 
} 
Các vấn đề liên quan