[JAVA] Ruft den Klassennamen und den Methodennamen des Controllers ab, der vom HandlerInterceptor von Spring Boot ausgeführt wird

1. Was Sie tun möchten

2. Version, Bedingungen usw.

3. Was ich getan habe

DemoInterceptor.java


public class DemoInterceptor extends HandlerInterceptorAdapter {

    @Override
    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response,
                             Object handler) throws Exception {

        // (1)Überspringen, wenn nicht HandlerMethod
        //js oder org.springframework.web.servlet.resource.Werden Sie ein ResourceHttpRequestHandler
        if (!HandlerMethod.class.isInstance(handler)) {
            return true;
        }

        // (2)Handler in HandlerMethod umwandeln
        HandlerMethod handlerMethod = HandlerMethod.class.cast(handler);

        // (3)Klassenname des auszuführenden Controllers
        String beanTypeName = handlerMethod.getBeanType().getName();

        // (4)Methodenname der auszuführenden Methode
        String methodName = handlerMethod.getMethod().getName();

        // (5)Kurze Protokollnachricht
        //FQCN wie folgt#MethodName[Arguments]Kann erhalten werden
        // [example]
        // case1) No arguments
        // jp.gr.java_conf.pekokun.web.app.HelloController#say[0 args]
        // case2) 1 argument
        // jp.gr.java_conf.pekokun.web.app.HelloController#say[1 args]
        String shortLogMessage = handlerMethod.getShortLogMessage();

        // (6)Sie können auch Informationen zu Methodenparametern abrufen
        // handlerMethod.getMethodParameters()...

        return super.preHandle(request, response, handler);
    }

Ende.

Recommended Posts

Ruft den Klassennamen und den Methodennamen des Controllers ab, der vom HandlerInterceptor von Spring Boot ausgeführt wird
Rufen Sie den in der Controller-Klasse von Spring Boot definierten Pfad als Liste ab
Benennen und rufen Sie in Ruby übergeordnete Klassenmethoden explizit auf
[Kotlin] Ermittelt den Argumentnamen des Konstruktors durch Reflektion
Rufen Sie den Namen des Testfalls in der JUnit-Testklasse ab
Memo zur Spring Boot Controller-Methode
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
Ruft den Objektnamen der vom neuen Operator erstellten Instanz ab
Verzweigungsverarbeitung mit dem Rückgabewert von RestTemplate und dem Statuscode von ResponseEntity in Spring Boot
Rufen Sie in Spring Boot eine Proxy-Instanz der Komponente selbst ab
Methode, um die Anzahl der Jahre zu addieren und das Monatsende zu erhalten
Ich möchte die Methode des Controllers kennen, bei der die Ausnahme im ExceptionHandler von Spring Boot ausgelöst wurde
graphql-ruby: So erhalten Sie den Namen der Abfrage oder Mutation im Controller Hinweis
[Rails] Ruft den Pfadnamen der URL vor dem Übergang ab und ändert das Linkziel
Ich möchte rekursiv die Oberklasse und die Schnittstelle einer bestimmten Klasse erhalten
Wenn Sie sich im Klassennamen verlieren
Passen Sie den durch Spring Component-Scan festgelegten Bean-Namen an
Die Geschichte der Erhöhung der Spring Boot 1.5-Serie auf die 2.1-Serie
Lassen Sie uns das Gefühl von Spring Boot + Swagger 2.0 überprüfen
Informationen zu next () und nextLine () der Scannerklasse
◆ Rufen Sie die von Spring Boot erstellte API von React ab
Der offizielle Name von Spring MVC ist Spring Web MVC
Temporäres Support-Memo, wenn der Name des Methodenparameters der Java-Klasse nicht durch Reflektion im Eclipse-Plug-In-Projekt abgerufen werden kann
So implementieren Sie den Authentifizierungsprozess durch Angabe von Benutzername und Kennwort in Spring Boot
So erhalten Sie den Klassennamen des Arguments von LoggerFactory.getLogger, wenn Sie SLF4J in Java verwenden
[Spring Boot] Die Geschichte, dass die Bean der Klasse mit der Annotation ConfigurationProperties nicht gefunden wurde
Überprüfen Sie das Verhalten von getOne-, findById- und Abfragemethoden mit Spring Boot + Spring Data JPA
Geben Sie die statische Ressourcencodierung in Spring Boot an
Holen Sie sich den Anime-Namen für diesen Begriff durch Scraping
[Für Anfänger] DI ~ Die Grundlagen von DI und DI im Frühjahr ~
Greifen Sie mit jdbcTemplate auf das integrierte h2db des Spring Boot zu
Ich habe versucht, die Kapazität von Spring Boot zu reduzieren
Bis zur Verwendung von Spring Data und JPA Part 2
Bis zur Verwendung von Spring Data und JPA Part 1
Ruby, Nokogiri: Ruft den Elementnamen des ausgewählten Knotens ab
Booten nach Umgebung mit Spring Boot of Maven
[Ruby] Klassenverschachtelung, Vererbung und die Grundlagen des Selbst
Automatische Zuweisung von Namens- und ID-Attributen durch form_with
Warum die get-Methode in der Calendar-Klasse benötigt wird
[Spring Data JPA] Kann die And-Bedingung in der automatisch implementierten Löschmethode verwendet werden?
Über die Funktion von Spring Boot aufgrund unterschiedlicher Versionen
[Ruby] Fragen und Überprüfung der Anzahl der Methodenargumente
Bei Verwendung des Konstruktors der Date-Klasse von Java wird das Datum um 1900 vorverlegt.
Eine Geschichte voller Grundlagen von Spring Boot (gelöst)
Stellen Sie die von Spring Boot erstellte Anwendung für Heroku (öffentlich) bereit ②
Ändern Sie den Dateinamen und das Ausgabeziel der JavaVM-Fehlerdatei
Stellen Sie die von Spring Boot erstellte Anwendung für Heroku (öffentlich) bereit ①
Abrufen von Fehlerinformationen mithilfe von DefaultErrorAttributes und ErrorAttributeOptions in Spring Boot 2.3
Zusammenfassung der von der Spliterator-Merkmalsmethode #java zurückgegebenen Werte
[Spring Boot] Ich möchte meine eigene Eigenschaftendatei hinzufügen und den Wert mit env.getProperty () abrufen.
[Rails] Ruft einen eindeutigen Datensatz aus der Tabelle ab, die durch die Join-Methode von Active Record verknüpft wird (Rails-Lernprogramm, Kapitel 14).