在 REST Web 服务中使用 URL 模式作为 /*?

Posted

技术标签:

【中文标题】在 REST Web 服务中使用 URL 模式作为 /*?【英文标题】:Using URL pattern as /* in REST webservice? 【发布时间】:2013-07-07 02:23:23 【问题描述】:
 <servlet-mapping>
    <servlet-name>JAX-RS REST Servlet</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>

为了我的

 <servlet>
    <display-name>JAX-RS REST Servlet</display-name>
    <servlet-name>JAX-RS REST Servlet</servlet-name>
    <servlet-class>
        com.sun.jersey.spi.container.servlet.ServletContainer
    </servlet-class>

Servlet 即我的应用程序的入口点。在许多示例中,我看到每个人都在 URL 模式中给出了一些路径,但就我而言,我只是使用 /*。这个可以吗?或者在其中使用一些路径有一些好处?喜欢更快的 URL 匹配?即对于网络服务的请求?

【问题讨论】:

是的,没关系。这仅取决于您的需求。如果你想映射到根目录,方式就是你正在使用的。 @acdcjunior 谢谢.. :) 【参考方案1】:

首先,有 /* 并没有错。 如果您只有一个侦听器处理所有传入请求,那么您所拥有的绝对没问题。如果您有多个侦听器/服务处理不同的 url 模式,那么当然,对于不同的 url 模式,您会有不同的映射。

如果我知道模式而不是 /*,我更喜欢添加完整的 url 模式,例如 /path1/xyz/*,因此当我添加另一个映射/侦听器来处理不同的 url 模式时,我不需要修改此映射。

【讨论】:

以上是关于在 REST Web 服务中使用 URL 模式作为 /*?的主要内容,如果未能解决你的问题,请参考以下文章

使用 django-rest 框架中的 GET 方法将 url 作为参数传递?

使用在后台运行的 REST Web 服务的 OSGi 网站

保护REST API/Web服务的最佳实践

无法使用 jQuery 在 html 中获取来自 REST Web 服务的 json 响应

在 REST Web 服务中处理批处理操作的模式?

从 servlet 过滤器中检索 REST URL 模式