2012-03-04 16 views
3

guiceでジャージーリソースと非ジャージーリソースを使用する方法を教えてください。Jersey + Guiceは、ジャージーリソースとジャージーリソースを混在させることはできません。

"/"をプレーンサーブレットで処理したいと考えています。しかし、私は "/ users"をジャージーで扱いたい。

@Path( "/ users")を持つジャージリソースがあるとします。動作しません、次のバインディングを使用して、それは当然のことながらジャージリソースではありませんジャージーを使用して「/」要求をマップしようと、私は見つけることができますジャージー/ Guiceの例の404

protected void configureServlets() { 
    serve("/").with(LoginServlet.class); 
    serve("/*").with(GuiceContainer.class, params); 
} 

すべてを取得します( "/ rest/users")のために働くserve("/rest/*".with(GuiceContainer.class, params); のようなことをしますが、私は、 'rest'や 'ws'のような任意の接頭辞を持たない素敵なURIが欲しいです。

答えて

5

"/"と "/ *"のあいまいな一致があります。

これを処理するには、単純なパターンではなく正規表現を許可するバージョンのserveメソッドを使用できます。

例えば、このようなものは動作する可能性があり:GuiceContainerマッピングは今スラッシュの後に少なくとも一つの文字を必要と

serve("/").with(LoginServlet.class); 
serveRegex("/.+").with(GuiceContainer.class, params); 

関連する問題