JAX-RS 路径注释 URI 模板

JAX-RS Path annotation URI template

我在使用 JAX-RS 的 java class 中有此代码方法:

import javax.ws.rs.GET;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;

@Path("/reports/{id: (zerotrips|notrips|tripsummary|rejectedtrips){1}/{0,1}}")
@GET
public Response get(@Context HttpServletRequest aRequest){
   ....
}

谁能给出一些由 @Path 注释中的表达式映射的 url 的示例?

/reports/zerotrips
/reports/zerotrips/

zerotrips替换为括号之间的任何其他内容

(zerotrips|notrips|tripsummary|rejectedtrips){1}

这表示括号中的任何一个值。 | 表示 "or"。 {1} 表示 "once".

/{0,1}

表示带斜线或不带斜线。 {0,1} 表示零到一次。

后跟 {} 的模式表示允许的次数。例如 a{3,5} 表示 a 三到五次。所以下面会匹配:aaaaaaaaaaaa,但 aa 不会匹配。