Bienvenido a los Servicios Web Restful Tutorial en Java. REST es el acrónimo de REpresentational State Transfer. REST es un estilo arquitectónico para desarrollar aplicaciones a las que se puede acceder a través de la red. El estilo arquitectónico del resto fue traído en la luz por Roy Fielding en su tesis doctoral en 2000.
Restful Web Services
Restful Web Services es una arquitectura cliente-servidor sin estado donde los servicios web son recursos y se pueden identificar por sus Uri.,
las aplicaciones cliente REST pueden usar métodos HTTP GET / POST para invocar servicios web Restful. REST no especifica ningún protocolo específico para usar, pero en casi todos los casos se usa sobre HTTP/HTTPS. En comparación con los servicios Web SOAP, estos son ligeros y no siguen ningún estándar. Podemos utilizar XML, JSON, texto o cualquier otro tipo de datos para la solicitud y respuesta.
Java RESTful Web Services API
Java API for RESTful Web Services (JAX-RS) es la API de Java para crear servicios Web REST., JAX-RS utiliza anotaciones para simplificar el desarrollo y la implementación de servicios web. JAX-RS es parte de JDK, por lo que no es necesario incluir nada para usar sus anotaciones.
Restful Web Services Annotations
algunas de las anotaciones importantes de JAX-RS son:
-
@Path
: se utilizan para especificar la ruta relativa de clase y métodos. Podemos obtener el URI de un servicio web escaneando el valor de anotación de Ruta., -
@GET
,@PUT
,@POST
,@DELETE
y@HEAD
: se utiliza para especificar la petición HTTP de tipo de un método. -
@Produces
,@Consumes
: se utiliza para especificar los tipos de solicitud y respuesta. -
@PathParam
: se usa para enlazar el parámetro method con el valor path al analizarlo.
Restful Web Services y SOAP
- SOAP es un protocolo, mientras que REST es un estilo arquitectónico.,
- Las aplicaciones cliente y servidor SOAP están estrechamente acopladas y enlazadas con el contrato WSDL, mientras que no hay contrato en REST web services y client.
- La Curva de aprendizaje es fácil para REST en comparación con los servicios Web SOAP.
- LOS TIPOS DE SOLICITUD Y RESPUESTA DE SERVICIOS web REST pueden ser XML, JSON, texto, etc. mientras que SOAP solo funciona con XML.
- JAX-RS es la API de Java para servicios Web REST, mientras que JAX-WS es la API de Java para servicios Web SOAP.
implementaciones de API REST
hay dos implementaciones principales de la API JAX-RS.,
- Jersey: Jersey es la implementación de referencia proporcionados por el Sol. Para usar Jersey como nuestra implementación de JAX-RS, todo lo que necesitamos es configurar su servlet en web.xml y añadir las dependencias necesarias. Tenga en cuenta que JAX-RS API es parte de JDK No Jersey, por lo que tenemos que añadir sus jars de dependencia en nuestra aplicación.
- RESTEasy: RESTEasy es el proyecto JBoss que proporciona la implementación de JAX-RS.
Java Restful Web Services Tutorial
veamos lo fácil que es crear un servicio web Restful usando Jersey y luego RESTEasy., Vamos a exponer los siguientes métodos a través de HTTP y utilizar Chrome Postman extensión para probar estos.,d>
h3>
cree un proyecto web dinámico y luego conviértalo en Maven para obtener el esqueleto de su proyecto de servicios web., La siguiente imagen muestra la estructura del proyecto final.
veamos las dependencias de Jersey que tenemos en pom.archivo xml.
no estamos obligados a Agregar dependencias jersey-client, pero si está escribiendo un programa java para invocar un servicio Web REST utilizando Jersey, entonces es necesario.
ahora echemos un vistazo al descriptor de implementación para aprender a configurar Jersey para crear nuestra aplicación web.
eso es todo lo que se requiere para plugin Jersey en nuestra aplicación web, en nuestro código java vamos a utilizar JAX-RS anotaciones., Observe el valor del parámetro init com.sun.jersey.config.property.packages
para proporcionar el paquete que se analizará en busca de recursos y métodos de servicio web.
REST Example Model Classes
En primer lugar crearemos dos modelos beans – Person
para nuestros datos de aplicación y Response
para enviar respuestas a los sistemas cliente. Dado que enviaremos una respuesta XML, los beans deben estar anotados con @XmlRootElement
, por lo tanto tenemos esta clase.,
REST Web Services Tutorial Services
basado en nuestra estructura URI, a continuación se muestra la interfaz de servicio y su código de implementación.
prueba de servicios web Restful
Eso es todo. Nuestro servicio web está listo, solo expórtalo como archivo WAR y colócalo dentro del directorio Webapps de Tomcat o desplázalo en cualquier otro contenedor de tu elección.
a continuación se muestran algunas de las pruebas realizadas con la extensión Postman chrome para este servicio web. Tenga en cuenta que tenemos que proporcionar los valores Accept y Content-Type como «application/xml» en el encabezado de la solicitud como se muestra en la imagen siguiente.,
- getDummy
- añadir
- get
- getAll
- eliminar
Eso es todo para la creación de servicios web con Jersey de JAX-RS aplicación. Como puede ver, la mayor parte del código está usando anotaciones JAX-RS y Jersey está conectado a través de descriptores de implementación y dependencias.,
RESTEasy RESTful Web Services ejemplo
usaremos toda la lógica de negocio desarrollada en Jersey project, pero en lugar de hacer cambios en el mismo proyecto, he creado un nuevo proyecto. Cree un proyecto web dinámico y conviértalo en proyecto Maven. Luego copie todas las clases de java: Person, Response, PersonService y PersonServiceImpl. A continuación se muestra el proyecto final después de que hayamos terminado con todos los cambios.
agregue a continuación dependencias RESTEasy en pom.archivo xml.
a continuación está la web.archivo xml donde estamos configurando el servlet Resteasy.,
observe el init-param donde está proporcionandoMyApp
class como valor, aquí estamos extendiendojavax.ws.rs.core.Application
class como se muestra a continuación.
prueba de servicios web RESTEasy
eso es todo. Nuestro servicio web está listo con la implementación de RESTEasy JAX-RS. A continuación se presentan algunos de los resultados de Postman prueba de extensión de chrome.,
- getDummy
- add
- get
Eso es todo para el Tutorial de servicios web Restful, espero que hayas aprendido sobre las anotaciones de JAX-RS y hayas entendido los beneficios de tener una API estándar que nos ayudó a reutilizar el código y a pasar de jersey a RESTeasy con tanta facilidad.