gpt4 book ai didi

java - 在 Apache Wink 中声明可选命名路径参数的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-01 14:43:54 25 4
gpt4 key购买 nike

使用 Apache Wink 在 REST 路径中定义可选命名参数的最佳方法是什么? ?

现在我正在使用这样的东西:

/items{sep: (?)}{id: (.*)}")

用于匹配请求,例如:

/items/123
/items/
/items

这样我就可以捕获干净的{id}

另一种选择是:

/items{id: (/?/[^/]+?)}

但是 {id} 将包含 / 字符,并且需要清理。

我在我的框架中使用 Wink (µ)Micro我打算坚持下去,推荐其他/更好的(?)类似的框架目前不会回答这个问题。

谢谢!
-弗罗林

最佳答案

这可能有点麻烦,不知道,也许这不是比你更好的解决方案(我不知道你的要求),但我是这样做的。我的资源类有一个“@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 深度路径(有人吗?)。希望对您有所帮助。

关于java - 在 Apache Wink 中声明可选命名路径参数的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15660916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com