[JAVA] Obtenez le nom de classe et le nom de méthode du contrôleur exécuté par le HandlerInterceptor de Spring Boot

1. Ce que vous voulez faire

2. Version, conditions, etc.

3. Ce que j'ai fait

DemoInterceptor.java


public class DemoInterceptor extends HandlerInterceptorAdapter {

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

        // (1)Ignorer sinon HandlerMethod
        //js ou org.springframework.web.servlet.resource.Devenir un ResourceHttpRequestHandler
        if (!HandlerMethod.class.isInstance(handler)) {
            return true;
        }

        // (2)Transtyper le gestionnaire en HandlerMethod
        HandlerMethod handlerMethod = HandlerMethod.class.cast(handler);

        // (3)Nom de classe du contrôleur à exécuter
        String beanTypeName = handlerMethod.getBeanType().getName();

        // (4)Nom de la méthode à exécuter
        String methodName = handlerMethod.getMethod().getName();

        // (5)Message de journal court
        //FQCN comme suit#MethodName[Arguments]Peut être obtenu
        // [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)Vous pouvez également obtenir des informations sur les paramètres de méthode
        // handlerMethod.getMethodParameters()...

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

fin.

Recommended Posts

Obtenez le nom de classe et le nom de méthode du contrôleur exécuté par le HandlerInterceptor de Spring Boot
Obtenez le chemin défini dans la classe Controller de Spring Boot sous forme de liste
Nommer et appeler explicitement des méthodes de classe parent dans Ruby
[Kotlin] Récupère le nom de l'argument du constructeur par réflexion
Obtenez le nom du scénario de test dans la classe de test JUnit
Mémo de méthode de contrôleur de démarrage à ressort
Comment obtenir le nom d'une classe / méthode exécutée en Java
Récupère le nom d'objet de l'instance créée par le nouvel opérateur
Traitement de branche avec la valeur de retour de RestTemplate et le code d'état de ResponseEntity dans Spring Boot
Obtenez une instance proxy du composant lui-même dans Spring Boot
Méthode pour additionner le nombre d'années et obtenir la fin du mois
Je veux connaître la méthode du contrôleur où l'exception a été levée dans le ExceptionHandler de Spring Boot
graphql-ruby: Comment obtenir le nom de la requête ou de la mutation dans le contrôleur Remarque
[Rails] Obtenez le nom du chemin de l'URL avant la transition et modifiez la destination du lien
Je veux obtenir récursivement la superclasse et l'interface d'une certaine classe
Quand tu te perds dans le nom de la classe
Personnalisez le nom du bean défini par Spring component-scan
L'histoire de la montée de la série Spring Boot 1.5 à la série 2.1
Vérifions la sensation de Spring Boot + Swagger 2.0
À propos de next () et nextLine () de la classe Scanner
◆ Obtenez l'API créée par Spring Boot à partir de React
Le nom officiel de Spring MVC est Spring Web MVC
Mémo de support temporaire lorsque le nom du paramètre de méthode de la classe Java ne peut pas être obtenu par réflexion dans le projet de plug-in Eclipse
Comment implémenter le processus d'authentification en spécifiant le nom d'utilisateur et le mot de passe dans Spring Boot
Comment obtenir le nom de classe de l'argument de LoggerFactory.getLogger lors de l'utilisation de SLF4J en Java
[Spring Boot] L'histoire selon laquelle le bean de la classe avec l'annotation ConfigurationProperties n'a pas été trouvé
Vérifiez le comportement de getOne, findById et des méthodes de requête avec Spring Boot + Spring Data JPA
Spécifiez le codage des ressources statiques dans Spring Boot
Obtenez le nom d'anime de ce terme en grattant
[Pour les débutants] DI ~ Les bases de DI et DI au printemps ~
Accédez au h2db intégré de Spring Boot avec jdbcTemplate
J'ai essayé de réduire la capacité de Spring Boot
Jusqu'à l'utilisation de Spring Data et JPA Part 2
Jusqu'à l'utilisation de Spring Data et JPA Part 1
Ruby, Nokogiri: récupère le nom de l'élément du nœud sélectionné
Comment démarrer par environnement avec Spring Boot de Maven
[Ruby] Imbrication de classes, héritage et principes de base de soi
Attribution automatique des attributs name et id par form_with
Pourquoi la méthode get est nécessaire dans la classe Calendar
[Spring Data JPA] La condition And peut-elle être utilisée dans la méthode de suppression implémentée automatiquement?
À propos de la fonction de Spring Boot en raison de différentes versions
[Ruby] Questions et vérification du nombre d'arguments de méthode
Lorsque vous utilisez le constructeur de la classe Date de Java, la date avance de 1900.
Une histoire remplie des bases de Spring Boot (résolu)
Déployez l'application créée par Spring Boot sur Heroku (public) ②
Modifier le nom de fichier et la destination de sortie du fichier d'erreur JavaVM
Déployez l'application créée par Spring Boot sur Heroku (public) ①
Obtenez des informations d'erreur à l'aide de DefaultErrorAttributes et ErrorAttributeOptions dans Spring Boot 2.3
Récapitulatif des valeurs renvoyées par la méthode des caractéristiques Spliterator #java
[Spring Boot] Je veux ajouter mon propre fichier de propriétés et obtenir la valeur avec env.getProperty ().
[Rails] Obtenez un enregistrement unique de la table jointe par la méthode de jointure de Active Record (Tutoriel Rails Chapitre 14)