Я использую Джерси в проекте REST , и мне нужно использовать регулярное выражение .
Копать об этом просто, как:
@Path("/resources")
public class MyResource {
@GET
@Path("{subResources:.*}")
public String get(@PathParam("subResources") String subResources) {...}
}
Но, делая это, метод получает запрос только , если я передаю 1 параметр, пример:
GET: ... / resources / firstSubResource
Если я использую больше 1 параметра, метод будет , а не получение запроса, пример:
GET: ... / resources / 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, одним в классе и другим в методе.
- Любые советы приветствуются!
Привет