我知道这个问题已经被问了很多次,但是没有一个能让我的代码工作。我可能做错了什么,但是我找不出来。
我正在使用Spring Boot和AngularJS,我想要做的是预处理所有请求。
这是我的代码:
控制器:
@RestController
@RequestMapping(value = { "/user" })
public class UserController {
@RequestMapping(value = "/get", method = RequestMethod.GET)
public String getLanguage() {
return "user";
}
}
拦截器:
@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>
我整个周末都在尝试让这个工作起来,但我无法做到。任何帮助将不胜感激!谢谢!
@EnableWebMvc
或<mvc:annotation-driven />
中的任何一个,这些配置将毫无用处。同样的情况也适用于手动配置HandlerAdapter
和/或HandlerMapping
。 - M. Deinum