我需要在我的
@Path
语句,以允许下面两种类型的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”。
提前感谢您的帮助。