2016-06-21 2 views
0

У меня есть класс контроллера:excludePathPatterns не работает - Spring

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.web.bind.annotation.*; 

import java.util.Map; 

@RestController 
@RequestMapping("/wha") 
public class Controlla { 

    @RequestMapping(method= RequestMethod.POST) 
    public @ResponseBody Map<String, Object> hollow(@RequestBody Map<String, Object> body) { 
     return body; 
    } 
} 

И класс перехватчик, который перехватывает запрос. Это, как я добавить перехватчик:

@Bean 
public Interc inter() { 
    return new Interc(); 
} 

@Override 
public void addInterceptors(InterceptorRegistry registry) { 
    registry.addInterceptor(inter()) 
      .addPathPatterns("/**") 
      .excludePathPatterns("/**/wha/**"); 
} 

Запрос действительно получить перехвачены, но это походит на excludePathPatterns даже не существует. Это не работает. Я запускаю версию Spring 4.2.4.RELEASE. Я просматривал в Интернете и переполнял стек, но все равно не мог решить эту проблему.

+0

Возможно, это потому, что ваш запрос - это карта на пути верхнего уровня ''/wha', в то время как ваш шаблон перехватчика исключается на дочернем пути '/ **/wha/**" '? Вы пытались исключить'/wha/** "'? –

+0

@DJ. Я пробовал '/ wha/**', но это не сработало – Navio53

+0

Как насчет '/ **/wha?'? –

ответ

0

После полной перезагрузки системы, выключив ее и снова включив, все сработало, как ожидалось.

Смежные вопросы