Ich weiß, dass dies viele Male gefragt worden, aber keiner von ihnen konnte meinen Code arbeiten. Ich könnte etwas falsch machen, aber ich kann nicht herausfinden, was.Spring Interceptions funktioniert nicht
Ich benutze Spring Boot mit AngularJS, was ich versuche zu tun ist, alle Anfragen zu erfüllen.
Dies ist mein Code:
Controller:
@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);
}
}
Und fügte ich dies dem applicationContext.xml:
Ich habe das ganze Wochenende versucht, diese Arbeit zu machen, und ich konnte nicht, jede Hilfe wird wirklich geschätzt werden!
Vielen Dank!
Haben Sie versucht, den RequestHandler und nicht den allgemeinen HandlerInterceptor zu injizieren. Oder registriere deinen Interceptor mit registry.addInterceptor (new RequestHandler())? – Nathanael
Ich habe das versucht, aber es funktioniert immer noch nicht. – Motomine
Warum hast du sowohl xml als auch java config zum Einrichten von Spring MVC ... Das ist ein Problem mit dem Warten ... Auch ohne '@ EnableWebMvc' oder' 'sind diese Konfigurationen nicht zu viel, das gleiche gilt, wenn Sie manuell 'HandlerAdapter' und/oder' HandlerMapping' konfiguriert haben. –