Parámetros RESTful con JAX-RS

02/Nov/2015 Java , , , , , Deja un comentario

En este ejemplo vamos a ver cómo podemos pasar parámetros RESTful con JAX-RS. Es decir, que la URL de la petición RESTful contenga un parámetro, el cual vayamos a utilizar posteriomente. Para ello vamos a crear un servicio RESTful que nos salude y que el nombre de la persona a saludar esté en la URI de la petición.

Es decir que si ponemos /saludo/victor la respuesta sea Hola Víctor!.

Lo primero que tienes que hacer es configurar todo el entorno para que puedas utilizar JAX-RS. Para ello no dejes de leerte el artículo Servicios JAX-RS con Tomcat 7 y Jersey. Pero a modo resumido tienes que configurar las dependencias de Jersey en el POM.

  1. <dependency>
  2. <groupId>com.sun.jersey</groupId>
  3. <artifactId>jersey-server</artifactId>
  4. <version>1.8</version>
  5. </dependency>

Y configurar el Servlet de Jersey.

  1. <servlet>
  2. <servlet-name>Jersey REST Service</servlet-name>
  3. <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
  4. <init-param>
  5. <param-name>com.sun.jersey.config.property.packages</param-name>
  6. <param-value>com.lineadecodigo.javaee.rest</param-value>
  7. </init-param>
  8. <load-on-startup>1</load-on-startup>
  9. </servlet>
  10. <servlet-mapping>
  11. <servlet-name>Jersey REST Service</servlet-name>
  12. <url-pattern>/rest/*</url-pattern>
  13. </servlet-mapping>

Ahora vamos a crear nuestra clase ParametroRest.

  1. @Path("saludo/{nombre}")
  2. public class ParametroRest { ... }

En esta clase hemos utilizado la anotación @Path para poder indicar cual es la URI sobre la que atenderá el servicio RESTful. Además cuando hemos especificado la ruta vemos que el valor del parámetro que vamos a utilizar a posteriori aparece entre llaves.

Lo siguiente será crear el método que atienda a las peticiones GET. Para ello nos apoyaremos en la anotación @GET e indicaremos que contesta con código HTML mediante la anotación @Produces.

  1. @GET
  2. @Produces("text/html")
  3. public String getSaludo() { .. }

Ahora tenemos que pasar el parámetro de la URI a este método. Para ello declararemos un atributo del método de tipo String al cual añadiremos la anotación @PathParam la cual tiene como parámetro el valor que pusimos entre las llaves del @Path.

  1. @GET
  2. @Produces("text/html")
  3. public String getSaludo(@PathParam("nombre") String nombre) {
  4. return "<html lang=\"en\"><body><h1>Hola " + nombre + "</h1></body></html>";
  5. }

Ahora ya podremos utilizar nuestro parámetro del método para componer la respuesta del servicio RESTful. Y así, de esta forma tan sencilla hemos conseguido configurar los parámetros RESTful con JAX-RS.

Vídeos sobre Java


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*