estoy usando Jersey en un proyecto RESTO y estoy necesidad de utilizar expresión regular.@Path y expresiones regulares (Jersey/DESCANSO)
de excavación en ello es tan simple como:
@Path("/resources")
public class MyResource {
@GET
@Path("{subResources:.*}")
public String get(@PathParam("subResources") String subResources) {...}
}
Pero, haciendo de esta manera, el método está recibiendo la solicitud única si pases 1 PARAM, ejemplo:
GET : .../resources/firstSubResource
Si utilizo más de 1 parámetro del método es no conseguir la petición, ejemplo:
GET: .../resources/firstSubResource/seccondSubResource/thirdSubResource
Solo puedo usar expresiones regulares si en mi @Path contiene una variable o valor de texto, ejemplo:
@Path("{SubResource1}/{subResources:.*}")
O
@Path("/hardCodeString/{subResources:.*}")
Hoy podía correr con esta solución de una variable, pero no está bien para mi punto de vista.
Mi 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>
(...)
Pregunta
- ¿Alguien ha trabajado con algo relacionado?
- Estoy haciendo algo mal?
- Creo que esto podría ser un error, al trabajar con más de un @Path, uno en la clase y otro en el método.
- ¡Cualquier consejo es apreciado!
Saludos
¿Podría publicar más información, incluidas las etiquetas y de 'web.xml', ejemplos de URL, la anotación @Path que coincidía con cada URL de muestra y todos los valores de los parámetros de ruta que Jersey recibió? (Edite su pregunta para agregar esta información.) –
@Daniel - Gracias por su respuesta, agrego más información a la pregunta. ¡Saludos! –