Spring mvc 路径参数的微分问题
我对Jax-rs@Path变量有问题,我需要区分以下两个PathParamSpring 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是+[.].+,只要它中间至少有一个点,
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:.+[.].+}")