JAX-RS Servicios RESTFull en Java
JAX-RS Servicios RESTFull en Java
Para ello lo
primero que tenemos que hacer es comenzar a conocer las distintas anotaciones que el
estandar define.
@GET :Esta anotación marca un método y define una operación GET .Es similar a cuando
realizamos una petición HTTP GET y solo debe usarse en el caso que de queramos leer
información .Nunca a la hora de escribir o modificar el estado del recurso al que estemos
accediendo.
@POST :Esta anotación marca un método y define una operación POST .Es similar a cuando
realizamos una petición HTTP POST y se usa para añadir un recurso o modificar un recurso
existente.
@DELETE :Esta anotación marca un método y define una operación DELETE .Como su
www.arquitecturajava.com
nombre indica se trata de eliminar un recurso del servidor . No siempre se usa ya que
redirecciona a traves de POST cuando trabajamos con HTML plano.
@PUT : Esta anotación se encargar de reemplazar un recurso del servidor y como en el caso
anterior suele redireccionarse a traves de POST.
@Produces :Esta anotación se encarga de que el contenido del servicio REST sea generado
con distintos formatos.En nuestro caso usaremos JSON
package com.arquitecturajava.serviciosexternos;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MultivaluedMap;
@Path("/servicioPersonas/")
@Produces("application/json")
public class ServicioPersonas {
www.arquitecturajava.com
ArrayList<Persona>();
public ServicioPersonas() {
super();
Persona yo = new Persona("pedro", "perez");
listaPersonas.add(yo);
}
@GET
@Path("/personas")
public List<Persona> getPersonas() {
return listaPersonas;
}
@POST
@Path("/personas")
public void addPersona(MultivaluedMap<String,
String> parametros) {
En este caso hemos utilizado un servicio REST que se encarga de mostrar las personas que
tenemos almacenas en una variable “listaPersonas” que al ser estatica se mantiene en
memoria. Por lo tanto definir un método GET es suficiente para acceder a la información.
Este método se apoya en la anotación @Produces para generar información en formato
www.arquitecturajava.com
JSON.
Una vez hemos invocado la primera vez al servicio via URL podemos usar un formulario
HTML para invocar al metodo /personaa pasando los parametros por POST y añadiendo
nuevas personas a la lista
<html>
<body>
<form method="POST"
action="rest/servicioPersonas/personas">
<input type="text" name="nombre"/>
<input type="text" name="apellidos"/>
<input type="submit"/>
</form>
</body>
</html>
www.arquitecturajava.com
Aunque el ejemplo es muy sencillo muchas veces es mas complicado configurar algún
framework para que pueda construir estos servicios .En el siguiente POST hablaremos de
como configurar Apache CXF para que este servicio REST funcione sin problemas.
www.arquitecturajava.com