0% encontró este documento útil (0 votos)
4 vistas

REST JSON y Java

El documento presenta un curso gratuito sobre Java 8, enfocándose en el uso de REST y JSON para el envío de datos en aplicaciones. Se describe cómo implementar un servicio REST en Java utilizando Apache CXF y cómo configurar el entorno necesario. Además, se incluye un ejemplo de código para enviar y recibir datos en formato JSON mediante AJAX.

Cargado por

luisdavid290915
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas

REST JSON y Java

El documento presenta un curso gratuito sobre Java 8, enfocándose en el uso de REST y JSON para el envío de datos en aplicaciones. Se describe cómo implementar un servicio REST en Java utilizando Apache CXF y cómo configurar el entorno necesario. Además, se incluye un ejemplo de código para enviar y recibir datos en formato JSON mediante AJAX.

Cargado por

luisdavid290915
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

CURSO JAVA 8

GRATIS
APUNTATE!!

REST JSON son dos acrónimos que cada día se usan más. Estamos ya muy acostumbrados a
recibir datos JSON en nuestras aplicaciones AJAX y HTML5 desde el servidor. De hecho se
ha convertido en un standard de facto.

REST JSON y Envío


Aunque es cierto que esta forma de trabajar la tenemos ya muy integrada con nuestro
negocio. También es bastante cierto que el envío de datos no siempre lo realizamos en
JSON. Sin embargo esta práctica cada día se esta imponiendo más debido a que genera
homogeneidad en la forma de trabajar con los datos.Hay frameworks como Angular.js que
lo tiene completamente integrado.

www.arquitecturajava.com
REST JSON y Java
Vamos a ver como podemos abordar algo de este estilo desde el mundo Java. Para ello nos
vamos a apoyar en JQuery y en una petición AJAX sencilla a la cual solicitamos que los datos
se envíen en JSON.

var persona={"nombre":"pedro","apellidos":"perez"};

$.ajax({
url: "rest/servicioPersonas/personas",
type: "POST",
data: JSON.stringify(persona),
contentType: "application/json",

www.arquitecturajava.com
complete: resultado
});

 

Una vez hecho esto tendremos que configurar un servicio REST para que
pueda consumir datos en formato JSON. Para ello voy a utilizar
<a href="http://cxf.apache.org/">Apache CXF </a>
<pre>y configurarlo en un Tomcat7 . Se puede ver como configurarlo en
el siguiente artículo</pre>

<a title="Apache CXF y REST (Configuración)"


href="https://www.arquitecturajava.com/apache-cxf-y-rest/"> Apache CXF
Configuración.</a>
<pre>&nbsp;Una vez configurado vamos a dar de alta el servicio.

package com.arquitecturajava.serviciosexternos;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/servicioPersonas/")
@Produces("application/json")

www.arquitecturajava.com
public class ServicioPersonasJSON {

@POST
@Path("/personas")
@Consumes(MediaType.APPLICATION_JSON)
public void addPersona(Persona persona) {

System.out.println(persona.getNombre()+ persona.getApellidos());
}
}

En este caso el ejemplo es trivial ya que unicamente añadimos la anotación @Consumes y le


especificamos que los datos son recibidos en formato JSON una vez lo hemos configurado el
framework de JAX-RS se encargará de mapearlos a la clase Persona. En este caso
simplemente imprimimos los datos por pantalla.

Vamos a echar un veo a los ficheros de configuración que Apache CXF necesita para este
ejemplo en concreto funcione.

web.xml

&amp;lt;dependencies&amp;gt;

www.arquitecturajava.com
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&amp;gt;
&amp;lt;listener&amp;gt;
&amp;lt;listener-
class&amp;gt;org.springframework.web.context.ContextLoaderListener&amp
;lt;/listener-class&amp;gt;
&amp;lt;/listener&amp;gt;
&amp;lt;servlet&amp;gt;
&amp;lt;servlet-name&amp;gt;CXFServlet&amp;lt;/servlet-name&amp;gt;
&amp;lt;servlet-
class&amp;gt;org.apache.cxf.transport.servlet.CXFServlet&amp;lt;/servl
et-class&amp;gt;
&amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;
&amp;lt;/servlet&amp;gt;
&amp;lt;servlet-mapping&amp;gt;
&amp;lt;servlet-name&amp;gt;CXFServlet&amp;lt;/servlet-name&amp;gt;
&amp;lt;url-pattern&amp;gt;/rest/*&amp;lt;/url-pattern&amp;gt;
&amp;lt;/servlet-mapping&amp;gt;
&amp;lt;/web-app&amp;gt;

&amp;amp;nbsp;

COMO REALIZAR
TODOS

www.arquitecturajava.com
MIS CURSOS

applicationContext.xml

&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;


&amp;lt;beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd"&gt;

&amp;lt;import resource="classpath:META-INF/cxf/cxf.xml" /&amp;gt;


&amp;lt;import resource="classpath:META-INF/cxf/cxf-servlet.xml"
/&amp;gt;

&amp;lt;jaxrs:server id="servicioRest" address="/"&amp;gt;


&amp;lt;jaxrs:serviceBeans&amp;gt;

&amp;lt;bean
class="com.arquitecturajava.serviciosexternos.ServicioPersonasJSON"
/&amp;gt;

&amp;lt;/jaxrs:serviceBeans&amp;gt;
&amp;lt;jaxrs:providers&amp;gt;
&amp;lt;ref bean="jsonProvider"/&amp;gt;
&amp;lt;/jaxrs:providers&amp;gt;

www.arquitecturajava.com
&amp;lt;jaxrs:features&amp;gt;

&amp;lt;/jaxrs:features&amp;gt;
&amp;lt;/jaxrs:server&amp;gt;
&amp;lt;bean id="jsonProvider"
class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/&amp;gt;
&amp;lt;/beans&amp;gt;

CURSO Java Herencia


GRATIS
APUNTATE!!

www.arquitecturajava.com

También podría gustarte