这可能有点麻烦,不知道,也许这不是比你更好的解决方案(我不知道你的要求),但这就是我的做法。我的资源类有一个注释'@Path("/db")',然后是每个受支持的目录级别的连续方法,即,因为 REST 基于 URL,这些 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 深度路径(有人吗?)。希望这会有所帮助。