路径障碍的区分问题

时间:2011-07-31 01:15:18

标签: spring-mvc jax-rs resteasy

我遇到了Jax-rs @Path变量的问题,我需要区分以下两个路径窗口

  1. @Path({域} / {ID})
  2. @Path({域} / {文件名})
  3. 两者的样本网址:
    1. http://localhost:8080/in.com/lrth09erdfgwe
    2. http://localhost:8080/in.com/lrth09erdfgwe.xml

    我认为我们需要在pathparam中使用正则表达式!我尝试过但却未能得到它! 我在与Spring-mvc的Resteasy集成中使用此应用程序。 关于这个问题的Plz建议!

    干杯!

1 个答案:

答案 0 :(得分:0)

你可以控制路径参数的匹配,方法是在参数中放入一个冒号,然后再用一个RE模式来匹配它,就像这样(RE是.+[.].+,它匹配任何东西,所以只要它在中间的某个地方至少有一个点):

@Path("{domain}/{filename:.+[.].+}")

我在我的一个服务中使用它(使用Apache CXF,但我相信这是所有JAX-RS实现的一个特性)。尽管如此!您可以将路径分隔符与此匹配,这可能会使事情变得非常混乱。 (我认为你可能更好地改变URI的结构,以便没有歧义,例如{domain}/id/{id}{domain}/files/{filename}。我打赌你的客户会更快地解决这个问题。)