Ir al contenido

Parámetros RESTful con JAX-RS

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 posteriormente.

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.

<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.8</version>
</dependency>

Y configurar el Servlet de Jersey.

<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.lineadecodigo.javaee.rest</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>

Ahora vamos a crear nuestra clase ParametroRest.

@Path("saludo/{nombre}")
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.

@GET
@Produces("text/html")
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.

@GET
@Produces("text/html")
public String getSaludo(@PathParam("nombre") String nombre) {
return "<h1>Hola " + nombre + "</h1>";
}

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.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Parámetros RESTful con JAX-RS

Aprende a pasar parámetros en servicios RESTful con JAX-RS. Descubre cómo usar @PathParam para capturar valores desde la URI de tus peticiones.

Descargar código