私はスプリングブートで書かれた休憩サービスを持っています。私は起動後にすべてのエンドポイントを取得したい。どうすればそれを達成できますか? これの目的は、(もし存在しなければ)起動後にすべてのエンドポイントをdbに保存し、これらを認証のために使用したいのです。これらのエントリは役割に注入され、役割はトークンの作成に使用されます。起動後にすべてのエンドポイントリストを取得する方法、スプリングブート
答えて
アプリケーションコンテキストの開始時にRequestMappingHandlerMappingを取得できます。
public class EndpointsListener implements ApplicationListener {
@Override
public void onApplicationEvent(ApplicationEvent event) {
if (event instanceof ContextRefreshedEvent) {
ApplicationContext applicationContext = ((ContextRefreshedEvent) event).getApplicationContext();
applicationContext.getBean(RequestMappingHandlerMapping.class).getHandlerMethods().forEach(/*Write your code here */);
}
}
}
代わりに、あなたはまた、JSONにすべてのエンドポイントを示しています別のエンドポイント(マッピングエンドポイント)を公開している(また、あなたは春のブートを使用していないにもかかわらず、actutatorを使用することができます)ブートアクチュエータを春することができます。このエンドポイントにヒットし、jsonを解析してエンドポイントのリストを取得できます。
https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html#production-ready-endpoints
こんにちは、ありがとうございました。私はabout/mappings endpointについて知っていますが、私のシナリオでは役に立たないです。私は私のサービスが起動時にエンドポイントにテーブルをロードしたいと思っています。/mappingsは他のリクエスタにエンドポイントリストを提供します。 私はあなたのコード断片を試してみます。 – barbakini
resttemplateを使用すると、ApplicationListener.onApplicationEvent()で/ mappingsエンドポイントを呼び出し、エンドポイントを取得してデータベースに保存できます。 –
すべてのマイクロサービスからエンドポイントを収集する中央リソースリスナーサービスを作成すると、私は/マッピングを使用できます。それ以外の場合は私には少し奇妙なようです – barbakini
- 1. GMFプロジェクトの起動後にすべてのノードと接続を取得する方法
- 2. スプリングブート。 SQLスクリプトを実行し、アプリケーションの起動時にデータを取得する
- 3. 起動後にスプリングブートに問題が発生する
- 4. サーバー起動後にスプリングブートが停止する
- 5. Androidデバイスですべての動画を取得する方法
- 6. 起動後にサンドボックスでh2oを起動する方法
- 7. アプリの起動時に場所を取得する方法
- 8. onclickが起動した後、htmlでvarの値を取得する方法は?
- 9. psexecの起動後にプロセスIDを取得する
- 10. 最後に起動したウィンドウのウィンドウハンドルを取得する
- 11. 起動時にHttpContext.Current.GetOwinContext()を取得する方法
- 12. Akka:再起動時に子アクターを取得する方法
- 13. grails-datastore-gormで春の起動時にすべてのドメインクラスを取得する方法は?
- 14. jqgrid guriddo - 処理後にすべてのデータを取得する方法
- 15. 私のアプリが起動するすべてのプロセスを取得する方法.Net Core
- 16. 私のカスタムフレームワークでアプリケーションの起動イベントを取得する方法
- 17. iOSアプリの起動後、またはアクティブになった後にすべてのプッシュ通知ペイロードを取得する方法
- 18. sql取得する方法= "すべて"
- 19. Eclipse起動後にSIGSEGVを取得する
- 20. Tomcatの起動ログを取得する方法
- 21. 起動アプリケーションの一覧を取得する方法
- 22. アプリの起動回数を取得する方法
- 23. データベースから挿入IDを取得する方法は?スプリングブート
- 24. pythonウェブページのすべてのコンテンツを動的に取得する方法
- 25. /res/raw内のすべてのメディアファイルを動的に取得する方法は?
- 26. アプリを起動する前にホーム画面のスクリーンショットを取得する方法
- 27. Firebaseはアプリの起動時にすべてのデータを取得します
- 28. スプリングブートをデプロイする際にAwsインスタンス名とポートを取得する方法
- 29. 起動時のすべての重要なデータを取得する
- 30. ノードアプリケーションのすべてのフォロワーにリアルタイムフィードを取得する方法
いくつかのコードを投稿し、試したことを説明してください。 – jhhoff02