tutorial traduccion example easy chrome java jax-rs resteasy

java - traduccion - resteasy maven



RESTEasy-@Path requiere un camino completo? (2)

En JBoss AS 7.1 también tuve que agregar para agregar resteasy.resources ... que se explica aquí http://www.javaroots.com/2013/05/creating-rest-services-with-rest-easy.html puede obtener un error como este: No se pudo encontrar el recurso para relative: / application / test of full path: ... Tiene que definir el parámetro de contexto resteasy.resource con la ruta completa de la clase Rest.

Estaba jugando con JAX-RS e hice una aplicación que llama a los servicios REST que producen JSON. Intenté Jersey y todo salió bien, pero tuve que cambiar a RESTEasy ya que mi aplicación necesita ser construida con JDK5. Cambié mi web.xml a algo como esto:

<web-app> <context-param> <param-name>resteasy.scan</param-name> <param-value>true</param-value> </context-param> <listener> <listener-class> org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap </listener-class> </listener> <servlet> <servlet-name>RESTEasy</servlet-name> <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> </servlet> <servlet-mapping> <servlet-name>RESTEasy</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> <!-- ... --> </web-app>

Así que espero que cada URL que comienza con / rest sea manejada por RESTEasy. Mis servicios son los siguientes:

@Path("/services") public class MyRESTServices { @GET @Path("service1") @Produces(MediaType.APPLICATION_JSON) public Object service1(Blah blah) { } }

Esto funcionó bien usando Jersey, http://localhost/MyContext/rest/services/service1 estaba vinculado a mi método service1 (). Cuando cambio a RESTEasy, sin embargo, tuve un 404:

Estado HTTP 404: no se pudo encontrar el recurso correspondiente: / rest / services / service1 de la ruta completa: http://localhost/MyContext/rest/services/service1

Lo que significa que RESTEasy manejó la solicitud pero no pudo encontrar ningún servicio vinculado a esta URL.

Sin @Path("/services") , en mi clase, cambiar @Path("/services") a @Path("/rest/services") funcionó. ¿Tienes alguna idea de por qué tengo este extraño comportamiento? Todos los tutoriales / documentos que leí mencionan solo las rutas relativas, sin incluir el prefijo / rest ...