1

@RestController注釈付きクラスで宣言されたすべてのエンドポイントのリストを取得する方法はありますか? リフレクションを介して達成できる忍耐力がありますが、そのためのSpring組み込みの方法はありますか? アイデアは、このリストをサービスのランディング ページに表示することです。

4

1 に答える 1

4

すべてのハンドラー マッピングのレジストリは、requestMappingHandlerMapping Bean に保持されます。このように、Spring Boot アプリケーションのメイン メソッドからアクセスできます。

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);
}

または、必要な Spring Bean に Bean を自動配線します。

于 2016-01-23T18:28:18.140 に答える