我需要在@Path
我的 RESTEasy web 方法的语句中添加一个正则表达式,以允许以下两种类型的 url 连接到 web 方法:
...其中 id = 'r2lXIcBfNfnp2yOK',版本可以是 '1' 或 '1.0.0'。我怎样才能做到这一点?
到目前为止,我的方法接受版本为“1.0.0”但不接受“1”:
@GET()
@Produces("application/x-protobuf")
@Path("/Things/{id}.{version:
(([0-9\\*]+\\.[0-9\\*]+\\.[0-9\\*]+))}")
public String getThing(
@PathParam("id") String id,
@PathParam("version") @DefaultValue("1.0.0") String version,
@Context final HttpServletResponse response)
{
//.... (rest of the method, irrelevant
}
我可以添加到上面的@Path 语句以允许“1”作为版本的另一个正则表达式是什么?
我试过这个:
@Path("/{id}.{version: (([0-9\\*^\\.])|([0-9\\*]+\\.[0-9\\*]+\\.[0-9\\*]+))}
...但这不起作用。
我也试过这个:
@Path("/{id}.{version: (([0-9\\*])|([0-9\\*]+\\.[0-9\\*]+\\.[0-9\\*]+))}
...但是当我传入版本“1.0.0”时,这只是切断了第一个数字,使其变为“0.0”。
在此先感谢您的帮助。