2016-07-19 2 views
0

vertexサーバー上の利用可能な/登録するルートをすべて一覧表示する方法はありますか?私は、私の登録されたルートが、実行中の再保険テストで404を返すという問題に直面しています。Vertxに登録されているすべてのルートを一覧表示する

+0

あなたはVERTX・ウェブを使用していますか?その場合は、 '' Router#getRoutes'''(http://vertx.io/docs/apidocs/io/vertx/ext/web/Router.html#getRoutes--)を使用してください。良好な動詞、パス、ヘッダーをvertxに使用するかどうかをチェックして、要求を良好なエンドポイントにルーティングする必要があります。 – cdelmas

答えて

3

はい、それを達成するには少しのコードを書く必要があります。

// Example router setup 
Router router = Router.router(vertx); 
router.route(HttpMethod.GET, "/").handler(routingContext -> { 
    routingContext.response().end("Root"); 
}); 

router.route(HttpMethod.GET, "/users").handler(routingContext -> { 
    routingContext.response().end("Post"); 
}); 

router.route(HttpMethod.POST, "/users").handler(routingContext -> { 
    routingContext.response().end("Post"); 
}); 

// Getting the routes 
for (Route r : router.getRoutes()) { 
    // Path is public, but methods are not. We change that 
    Field f = r.getClass().getDeclaredField("methods"); 
    f.setAccessible(true); 
    Set<HttpMethod> methods = (Set<HttpMethod>) f.get(r); 
    System.out.println(methods.toString() + r.getPath()); 
} 

これは、になります:

[GET]/ 
[GET]/users 
[POST]/users 
関連する問題