Я знаю, что это задавали много раз, но никто из них не мог заставить мой код работать. Я мог бы что-то делать неправильно, но я не могу понять, что.Весенние перехваты не работают
Я использую Spring Boot с AngularJS, то, что я пытаюсь сделать, это предварительно перенести все запросы.
Это мой код:
Контроллер:
@RestController
@RequestMapping(value = { "/user" })
public class UserController {
@RequestMapping(value = "/get", method = RequestMethod.GET)
public String getLanguage() {
return "user";
}
}
Interceptor:
@Component
public class RequestHandler extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException {
System.out.println("intercepted");
return false;
}
}
WebConfig:
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Autowired
HandlerInterceptor requestHandler;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(requestHandler);
}
}
И я добавил это к applicationContext.xml:
<mvc:interceptors>
<bean class="server.RequestHandler" />
</mvc:interceptors>
Я все выходные, пытаясь сделать эту работу, и я не мог, любая помощь будет действительно оценена!
Спасибо!
Вы пытались ввести RequestHandler, а не обычный HandlerInterceptor. Или зарегистрируйте свой перехватчик с помощью registry.addInterceptor (new RequestHandler())? – Nathanael
Я пробовал это, но он все еще не работает. – Motomine
Почему у вас есть как xml, так и java-конфиг для настройки Spring MVC ... Это проблема, ожидающая случиться ... Также без «@ EnableWebMvc» или ' ' эти конфиги не являются в значительной степени, то же самое, если вы вручную настроили «HandlerAdapter» и/или «HandlerMapping». –