java / intermediate
Snippet
Anfragen abfangen mit HandlerInterceptor
Ein HandlerInterceptor ermöglicht die Ausführung von Logik, bevor oder nachdem eine Anfrage einen Controller erreicht. Dies ist ideal für Logging, Authentifizierungsprüfungen oder das Hinzufügen gemeinsamer Header, ohne Controller-Methoden zu überladen.
snippet.java
1
2
3
4
5
6
7
8
9
10
11
12
13
@Componentpublic class RequestLoggingInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {System.out.println("Incoming request: " + request.getMethod() + " " + request.getRequestURI());return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {System.out.println("Request processed successfully");}}
spring
Erklärung
1
preHandle
Wird vor der Controller-Methode ausgeführt; gibt false zurück, um die Anfrage zu blockieren.
2
postHandle
Wird nach der Controller-Methode, aber vor dem Rendern der View ausgeführt.
3
HttpServletRequest
Ermöglicht den Zugriff auf Header, Parameter und HTTP-Methoden.