路径参数微分问题

发布于 2024-11-26 22:24:56 字数 503 浏览 1 评论 0原文

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

  1. @Path({domain}/{id})
  2. @Path({domain}/{filename})

示例 url:< br> 1. http://localhost:8080/in.com/lrth09erdfgwe
2. http://localhost:8080/in.com/lrth09erdfgwe.xml

我认为我们需要在路径参数中使用正则表达式!我尝试过但没能得到! 我在 Resteasy 与 spring-mvc 集成中使用此应用程序。 请就这个问题提出建议!

干杯!

I have problem with Jax-rs @Path variable, I need to differentiate the following two pathparams

  1. @Path({domain}/{id})
  2. @Path({domain}/{filename})

sample url for both:
1. http://localhost:8080/in.com/lrth09erdfgwe
2. http://localhost:8080/in.com/lrth09erdfgwe.xml

I think we need to use regex in pathparam! I tried it but failed to get it!
I'm using this application in Resteasy integration with spring-mvc.
Plz advice on this issue!

Cheers!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

入怼 2024-12-03 22:24:56

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

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

我在我的一项服务中使用它(它使用 Apache CXF,但我相信这是所有 JAX-RS 实现的一项功能)。不过要小心!您可以将路径分隔符与此相匹配,这会使事情变得非常混乱。 (我认为您最好更改 URI 的结构,以免出现歧义,例如 {domain}/id/{id}{domain}/files/{文件名}。我敢打赌您的客户会更快地理解这一点。)

You control the matching of path parameter by putting inside the parameter a colon and then an RE pattern to match it, like this (where the RE is .+[.].+, which matches anything so long as it has at least one dot somewhere in the middle):

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

I use this in one of my services (which uses Apache CXF, but I believe this is a feature of all JAX-RS implementations). Have a care though! You can match path separators with this, which can make things very confusing. (I think you might be better to change the structure of the URIs so that there is no ambiguity, e.g., {domain}/id/{id} and {domain}/files/{filename}. I bet your clients will grok that much more rapidly.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文