泽西岛:将多个路径参数合并为一个

问题描述 投票:1回答:1

我用以下路径注释了我的资源。

@Path("/hello/world/{param}/{sub-resources}")

应该处理这样的请求:

/hello/world/one/blah
/hello/world/two/blah/blah/blah
/hello/world/three/a/million/other/sub-resources

我需要提取{param}以及它之后的所有内容,但它不起作用。

java jax-rs jersey-2.0
1个回答
3
投票

在JAX-RS中,像/hello/world/{param}这样的简单路径参数默认使用[^/]+的正则表达式,它只匹配当前路径段。

您可以通过为包含斜杠的参数指定更宽松的正则表达式来自定义此项。例如,这将匹配/hello/world下的所有URL,以及任意数量的子路径段:

@Path("/hello/world/{param:.+})

或者,如果您想将顶级细分变为单独的变量,您可以执行以下操作:

@Path("/hello/world/{param}/{sub-resources:.+}
© www.soinside.com 2019 - 2024. All rights reserved.