2017-08-30 2 views
0

私のリソースに次のパスで注釈を付けました。ジャージー:複数のパスパラメーターを1つにまとめる

/hello/world/one/blah 
/hello/world/two/blah/blah/blah 
/hello/world/three/a/million/other/sub-resources 

は、私は{}のparam、それの後に行くすべてのものを抽出する必要があるが、それは動作しません。このような要求を処理する必要があり

@Path("/hello/world/{param}/{sub-resources}") 

答えて

2

JAX-RSでは、/hello/world/{param}のような単純なパスパラメータはデフォルトで[^/]+の正規表現を使用します。これは現在のパスセグメントにのみ一致します。

これをカスタマイズするには、スラッシュを含むパラメータに対してより許容される正規表現を指定します。

@Path("/hello/world/{param:.+}) 

それとも、別の変数にトップレベルのセグメントをプッシュしたい場合、あなたができる:例えば、これは子供のパスセグメントの任意の数の時と/hello/world下のURLを、すべてに一致します

@Path("/hello/world/{param}/{sub-resources:.+} 
関連する問題