Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/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
Spring mvc 路径参数的微分问题_Spring Mvc_Jax Rs_Resteasy - Fatal编程技术网

Spring mvc 路径参数的微分问题

Spring mvc 路径参数的微分问题,spring-mvc,jax-rs,resteasy,Spring Mvc,Jax Rs,Resteasy,我对Jax-rs@Path变量有问题,我需要区分以下两个PathParam @路径({domain}/{id}) @路径({domain}/{filename}) 两者的示例url: 1. 2. 我想我们需要在pathparam中使用正则表达式!我试过了,但没有成功! 我正在使用这个应用程序与SpringMVC进行Resteasy集成。 请就这个问题提供建议 干杯 您可以通过在参数内部放置冒号,然后再放置一个RE模式来匹配路径参数,如下所示(其中RE是+[.].+,只要它中间至少有一个点,

我对Jax-rs@Path变量有问题,我需要区分以下两个PathParam

  • @路径({domain}/{id})
  • @路径({domain}/{filename})
  • 两者的示例url:
    1.
    2.

    我想我们需要在pathparam中使用正则表达式!我试过了,但没有成功! 我正在使用这个应用程序与SpringMVC进行Resteasy集成。 请就这个问题提供建议


    干杯

    您可以通过在参数内部放置冒号,然后再放置一个RE模式来匹配路径参数,如下所示(其中RE是
    +[.].+
    ,只要它中间至少有一个点,它就匹配任何东西):


    我在我的一个服务中使用了它(它使用ApacheCXF,但我相信这是所有JAX-RS实现的一个特性)。不过要小心!您可以将路径分隔符与此匹配,这会使事情变得非常混乱。(我认为您最好更改URI的结构,这样就不会有歧义,例如,
    {domain}/id/{id}
    {domain}/files/{filename}
    。我打赌您的客户会更快地查找。)

    此外,如果您正在处理文件名,请花一点时间确保从不允许
    (或Windows上的其他一些额外功能)。谢谢你的建议!Donal。我试过了…但它会调用第一个服务。我使用了{domain}/{filename}{param:..*},现在工作正常!
    @Path("{domain}/{filename:.+[.].+}")