====== Servicios REST con JSON ====== Por defecto, la configuración de //REST// para aplicaciones FundeWeb 2, tiene deshabilitado el mapeo de //POJOs// y clases //JAXB// a //JSON//. Ahora veamos un ejemplo 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//. ===== Activar la Configuración de Rest con JSON ===== Para poder habilitar la configuración de mapeo automático de //POJOs// (no //JAXB//) a //JSON//, tenemos que editar el fichero //web.xml// y añadir lo siguiente: com.sun.jersey.api.json.POJOMappingFeature true ===== Bibliografia y referencias ===== * [[http://docs.oracle.com/middleware/1212/wls/RESTF/deploy-restful-service.htm|Oracle WebLogic Server 12c (12.1.2) - Developing and Securing RESTful Web Services for Oracle WebLogic Server - 4 Packaging and Deploying RESTful Web Services]] * [[https://jersey.java.net/documentation/1.18/index.html|Jersey 1.18 User Guide]] * [[https://www.javacodegeeks.com/2018/08/writing-big-json-files-jackson.html|Writing Big JSON Files With Jackson]]