Jersey + Jackson

Jersey es un framework open source para el desarrollo de servicios web REST.

pom.xml

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

com.pablomonteserin.JSONService.java

@Path("/json/invitado")
public class JSONService {

	@GET
	@Path("/get")
	@Produces(MediaType.APPLICATION_JSON)
	public Invitado getInvitadoInJSON() {
		Invitado i = new Invitado("Juan");
		return i;
	}
	
	@GET
	@Path("/getList")
	@Produces(MediaType.APPLICATION_JSON)
	public ArrayList<Invitado> getInvitadosInJSON() {
		ArrayList<Invitado> invitados = new ArrayList();
		invitados.add(new Invitado("Paco"));
		invitados.add(new Invitado("Nuria"));
		invitados.add(new Invitado("Rosa"));
		
		return invitados;
	}
}

src/main/java/webapp/WEB-INF/web.xml

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	version="2.5">	
	<servlet>
		<servlet-name>jersey-serlvet</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.pablomonteserin</param-value>
		</init-param>
		<init-param>
			<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
			<param-value>true</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>jersey-serlvet</servlet-name>
		<url-pattern>/rest/*</url-pattern>
	</servlet-mapping>
</web-app>

Url de acceso:

dominio.com/nombre_proyecto/rest/url_de_la_clase/url_del_metodo
http://localhost:8081/pruebarest/rest/json/invitado/get

Paso de parámetros por GET

@GET
@Path("/get/{nombre}/{apellido}")
@Produces(MediaType.APPLICATION_JSON)
public Invitado getInvitadoInJSON(@PathParam("nombre") String nombre,@PathParam("apellido") String apellido) {
	System.out.println(nombre + " - " + apellido);
}
	
http://localhost:8081/pruebarest/rest/json/invitado/get/paco/rodriguez

Ejercicio CRUD librería

Aviso Legal | Política de privacidad