Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用regex从JAX-RS@Path迁移到Spring-MVC@RequestMapping_Spring_Spring Mvc_Jax Rs_Request Mapping - Fatal编程技术网

使用regex从JAX-RS@Path迁移到Spring-MVC@RequestMapping

使用regex从JAX-RS@Path迁移到Spring-MVC@RequestMapping,spring,spring-mvc,jax-rs,request-mapping,Spring,Spring Mvc,Jax Rs,Request Mapping,我正在尝试将代码从Jax Rs(jersey实现)迁移到Spring MVC入口点: jax-rs: @GET @Path("{bundle}/bundle{min: (-min)*}.{extension: js|css}") public Response getBundle(@PathParam("bundle") String bundle, @PathParam("min") String min, @PathParam("extension") String extension)

我正在尝试将代码从Jax Rs(jersey实现)迁移到Spring MVC入口点:

jax-rs:

@GET
@Path("{bundle}/bundle{min: (-min)*}.{extension: js|css}")
public Response getBundle(@PathParam("bundle") String bundle, @PathParam("min") String min, @PathParam("extension") String extension)
Spring MVC:

@RequestMapping(method = GET, path = "{bundle}/bundle{min:(-min)?}{extension:\\.(js|css)?}")
public void getBundle(@PathVariable String bundle, @PathVariable String min, @PathVariable String extension)
根据,我可以将regex用于
@RequestMapping
。语法类似于jaxrs,但入口点不起作用(404未找到)

入口点的值示例:
http://localhost:8080/foo/bundle-min.css


我已经找到了一个带有
@RequestMapping(method=GET,path=“{bundle}/bundle**”)
的解决方案,但我必须解析字符串以捕获所需的参数值。

您的正则表达式似乎很好,但用非捕获组替换那些捕获组,如下所示:

{bundle}/bundle{min:(?:-min)?}{extension:\.(?:js|css)?}
使用此正则表达式,如果您向
foo/bundle-min.css
发出请求,
bundle
将是
foo
min
将是
-min
,而
扩展名将是
.css