1

有没有办法获取在带@RestController注释的类中声明的所有端点的列表?有一些耐心可以通过反射来实现,但是有没有 Spring 内置的方法呢?想法是在服务登录页面上显示此列表。

4

1 回答 1

4

所有处理程序映射的注册表都保存在 requestMappingHandlerMapping bean 中。您可以像这样从 Spring Boot 应用程序的 main 方法访问它。

public static void main(String[] args) {
    ConfigurableApplicationContext context = 
            SpringApplication.run(MySpringApplication.class, args);

    AbstractHandlerMethodMapping requestMappingHandlerMapping = 
            context.getBean("requestMappingHandlerMapping", AbstractHandlerMethodMapping.class);
    Map handlerMethods = requestMappingHandlerMapping.getHandlerMethods();
    System.out.println("handlerMethods: " + handlerMethods);
}

或者只是将 bean 自动装配到您需要的任何 Spring bean 中。

于 2016-01-23T18:28:18.140 回答