Jersey:将多个路径参数合并为一个
Jersey: combine multiple path params into one
我用以下路径注释了我的资源。
@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} 及其后的所有内容,但它不起作用。
在 JAX-RS 中,像 /hello/world/{param}
这样的简单路径参数将默认使用 [^/]+
的正则表达式,它只匹配当前路径段。
您可以通过为包含斜杠的参数指定更宽松的正则表达式来自定义它。例如,这将匹配 /hello/world
下的所有 URL 以及任意数量的子路径段:
@Path("/hello/world/{param:.+})
或者,如果您想将顶级细分推入一个单独的变量,您可以这样做:
@Path("/hello/world/{param}/{sub-resources:.+}
我用以下路径注释了我的资源。
@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} 及其后的所有内容,但它不起作用。
在 JAX-RS 中,像 /hello/world/{param}
这样的简单路径参数将默认使用 [^/]+
的正则表达式,它只匹配当前路径段。
您可以通过为包含斜杠的参数指定更宽松的正则表达式来自定义它。例如,这将匹配 /hello/world
下的所有 URL 以及任意数量的子路径段:
@Path("/hello/world/{param:.+})
或者,如果您想将顶级细分推入一个单独的变量,您可以这样做:
@Path("/hello/world/{param}/{sub-resources:.+}