WebアプリケーションでGuiceを使用してリクエストをルーティングしていますが、処理するURLパターンのルーティングをモジュール化したいと思います。Guiceサーブレットを使用したサブパスのルーティング
delegate("/foo/bar/*").to(SomeOtherServletModule.class);
// in SomeOtherServletModule.configureServlets:
serve("/foo/bar/quux").with(Quux.class);
あるいはさらに良い:理想的には、私は私のServletModule
にこのような何かを行うことができるようにしたいと思い
delegatePrefix("/foo/bar/").to(SomeOtherServletModule.class);
// in SomeOtherServletModule.configureServlets:
serve("/quux").with(Quux.class); // prefix removed
はGuiceの中で、このことは可能ですか? Guiceは、ServletModulesによって実装されたバインディングを、シンプルにすることを試みていると思われます。これは、GuiceServletContextListener
によって、GuiceFilter
によって使用されるようになりましたが、誰にも分かりません。これは、すべてを単一の関数で緊密に束縛するのではなく、
興味深いコメント。私はこれが大きな問題ではないと思うでしょう - あなたは、あるパスの下のすべてのリクエストを別のウェブサーバーのルートにプロキシするのとほぼ同じと見なすことができます。実際には、同じサーブレットコンテナ内で任意のモジュールがサブパートされるのは混乱するかもしれませんが、サブモジュールがこの使用方法のサポートを宣言しなければならない場合でも、これを達成するには何らかの方法があります。しかし、私はこれは、この場合の機能要求に属していると思います:) – bdonlan