我有泽西注释的这个路径规则:
@GET
@Path("{format:([^/]+?)?}")
它与www.site.com/it或www.site.com匹配,这对我来说非常完美。现在,我想添加一个与以下内容匹配的新规则: www.site.com/it/search或www.site.com/search。 我试过这个:
@GET
@Path("{format:([^/]+?)?}/search")
但实际上第一条规则被解雇了,我怎样才能从第一条规则中排除一些字符串(如搜索和其他字符串)或作为相反的解决方案,将可选路径限制为某些特定值,例如en,fr等等.... 谢谢
答案 0 :(得分:0)
尝试第一个终点:
@GET
@Path("/{format: \\w*}")
这是第二个终点:
@GET
@Path("/{format: \\w*}/search")
答案 1 :(得分:0)
最后,我找到了这个解决方案:Optional path segment in Jersey JAX-RS
真的,你只需要为你的servlet映射添加新的url-pattern。 所以只需要在web.xml上:
<servlet-mapping>
<servlet-name>JAX-RS Servlet</servlet-name>
<url-pattern>/api/*</url-pattern>
<url-pattern>/v1/api/*</url-pattern>
</servlet-mapping>