Servicios REST con JSON

Por defecto, la configuración de REST para aplicaciones FundeWeb 2, tiene habilitado el mapeo de POJOs y clases JAXB a JSON.

Ahora veamos un ejmplo con un POJO para convertir en JSON.

public class PistaAudio {
 
	String title;
	String singer;
 
	public String getTitle() {
		return title;
	}
 
	public void setTitle(String title) {
		this.title = title;
	}
 
	public String getSinger() {
		return singer;
	}
 
	public void setSinger(String singer) {
		this.singer = singer;
	}
 
}

Por último exponemos un método en nuestro servicio REST que acepte o devuelva objetos JSON usando las anotaciones: @Consumes, @Produces o ambas. En este ejemplo usamos la anotación @Produces indicando que el método devolverá un objeto JSON.

@GET
@Path("/json")
@Produces(MediaType.APPLICATION_JSON)
public PistaAudio getPista() {
	PistaAudio pista = new PistaAudio();
	pista.setTitle("Titulo 1");
	pista.setSinger("Cantante 1");
	return pista;
}

Tras estos pasos nuestro servicio REST tendrá un nuevo método que acepta objetos de tipo JSON.

Para poder deshabilitar la configuración de mapeo automático de POJOs y JAXB a JSON, tenemos que editar el fichero web.xml y añadir lo siguiente:

	<context-param>
		<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
		<param-value>false</param-value>
	</context-param>
  • fdw2.0/fundeweb2.0/gt/guia_de_rest_con_json.txt
  • Última modificación: 07/11/2017 10:46
  • (editor externo)