Java 在ApacheWink中声明可选命名路径参数的最佳方法是什么
使用在REST路径中定义可选命名参数的最佳方法是什么 现在我用的是这样的东西:Java 在ApacheWink中声明可选命名路径参数的最佳方法是什么,java,rest,web,apache-wink,Java,Rest,Web,Apache Wink,使用在REST路径中定义可选命名参数的最佳方法是什么 现在我用的是这样的东西: /items{sep: (?)}{id: (.*)}") 用于匹配请求,例如: /items/123 /items/ /items 这样我就可以捕获一个干净的{id} 另一种选择是: /items{id: (/?/[^/]+?)} 但是{id}将包含/字符,并且需要进行清理 我在我的框架中使用Wink,我计划继续使用它,推荐其他/更好的(?)类似框架目前无法回答这个问题 谢谢大家! -florin这可能有点麻烦
/items{sep: (?)}{id: (.*)}")
用于匹配请求,例如:
/items/123
/items/
/items
这样我就可以捕获一个干净的{id}
另一种选择是:
/items{id: (/?/[^/]+?)}
但是{id}
将包含/
字符,并且需要进行清理
我在我的框架中使用Wink,我计划继续使用它,推荐其他/更好的(?)类似框架目前无法回答这个问题
谢谢大家!-florin这可能有点麻烦,不知道,也许这不是一个比你更好的解决方案(我不知道你的要求),但我是这样做的。我的资源类有一个“@Path(“/db”)”注释,然后是每个支持的目录级别的连续方法,也就是说,因为REST基于URL,必须将“/”字符视为目录分隔符
@Path("{id}")
@GET
public Response getJson( @PathParam("id") String id )
{
String path = id;
// TODO
}
处理“数据库/项目”,以及
处理“db/items/123”和
处理“db/items/123/456”
但您可以看到,在较长的路径上,这会很快变得很麻烦,而且我还没有弄清楚如何处理n深度路径(有人吗?)。希望能有所帮助。谢谢你,一郎。我真的很想看看Wink是否可以容纳可选的路径参数。我知道如何使用Rails,这是一个很好的例子,我想我可以在Wink中使用类似的语法。我正在使用regexp,尽管我仍然希望有一种更干净的方法。我暂时不回答这个问题。再次感谢!
@Path("{id1}/{id2}")
@GET
public Response getJson(
@PathParam("id1") String id,
@PathParam("id2") String id2 )
{
String path = id1 + '/' + id2;
// TODO
}
@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
}