我在一家REST項目中使用新澤西,我需要使用正則表達式。@Path和正則表達式(州/ REST)
挖它是簡單的像:
@Path("/resources")
public class MyResource {
@GET
@Path("{subResources:.*}")
public String get(@PathParam("subResources") String subResources) {...}
}
但是,做這樣的方法越來越請求只有當我經過1個PARAM,例如:
GET :.../resources/firstSubResource
如果使用多於1個參數的方法是不得到請求,例如:
GET:... /資源/ firstSubResource/seccondSubResource/thirdSubResource
我只能使用正則表達式,如果在我的@Path中包含變量或文本值,例如:
@Path("{SubResource1}/{subResources:.*}")
或者
@Path("/hardCodeString/{subResources:.*}")
今天,我可以用一個變量的這個解決方案運行,但也不行對我的觀點。
我的web.xml
(...)
<servlet>
<servlet-name>Jersey Spring Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.myproject.rest</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Spring Web Application</servlet-name>
<url-pattern>/1.0/*</url-pattern>
</servlet-mapping>
(...)
問題
- 沒有任何人有什麼合作關係?
- 我做錯了什麼?
- 我認爲這可能是一個錯誤,當使用多個@Path,一個在Class中,另一個在Method中。
- 任何提示表示讚賞!
問候
請您發佈更多信息,包括:和web.xml中的標籤,示例URL,匹配每個示例URL的@Path註釋以及Jersey收到的所有路徑參數值。 (編輯您的問題以添加此信息。) –
2010-06-01 10:45:51
@Daniel - 感謝您的回答,我在問題中添加了更多信息。問候! – 2010-06-01 14:19:25