我在一家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