我遇到了Jax-rs @Path变量的问题,我需要区分以下两个路径窗口
两者的样本网址:
1. http://localhost:8080/in.com/lrth09erdfgwe
2. http://localhost:8080/in.com/lrth09erdfgwe.xml
我认为我们需要在pathparam中使用正则表达式!我尝试过但却未能得到它! 我在与Spring-mvc的Resteasy集成中使用此应用程序。 关于这个问题的Plz建议!
干杯!
答案 0 :(得分:0)
你可以控制路径参数的匹配,方法是在参数中放入一个冒号,然后再用一个RE模式来匹配它,就像这样(RE是.+[.].+
,它匹配任何东西,所以只要它在中间的某个地方至少有一个点):
@Path("{domain}/{filename:.+[.].+}")
我在我的一个服务中使用它(使用Apache CXF,但我相信这是所有JAX-RS实现的一个特性)。尽管如此!您可以将路径分隔符与此匹配,这可能会使事情变得非常混乱。 (我认为你可能更好地改变URI的结构,以便没有歧义,例如{domain}/id/{id}
和{domain}/files/{filename}
。我打赌你的客户会更快地解决这个问题。)