これは少し面倒かもしれませんが、これはあなたのものよりも優れたソリューションではないかもしれません (私はあなたの要件を知りません)。私のリソース クラスには '@Path("/db")' という注釈があり、その後、サポートされているディレクトリ レベルごとに連続するメソッドがあります。つまり、REST は必ず '/' 文字をディレクトリ区切り文字として扱う URL に基づいているためです。
@Path("{id}")
@GET
public Response getJson( @PathParam("id") String id )
{
String path = id;
// TODO
}
「db/items」を処理し、
@Path("{id1}/{id2}")
@GET
public Response getJson(
@PathParam("id1") String id,
@PathParam("id2") String id2 )
{
String path = id1 + '/' + id2;
// TODO
}
「db/items/123」を処理し、
@Path("{id1}/{id2}/{id3}")
@GET
public Response getJson(
@PathParam("id1") String id1,
@PathParam("id2") String id2,
@PathParam("id3") String id3 )
{
String path = id1 + '/' + id2 + '/' + id3;
// TODO
}
「db/items/123/456」を扱います。
しかし、これは長いパスではすぐに面倒になることがわかります。また、n 深度のパスを処理する方法をまだ理解していません (誰か? )。それが助けになることを願っています。