Servicios REST con Jersey y JAX-RS

editado 25 de enero en Spring Framework

¿Qué es un servicio REST?

REST son las siglas de Representational State Transfer. Es una arquitectura de software para desarrollar servicios Web. Coloquialmente, un servicio web sirve para hacer una llamada a una url (normalmente HTTP) y obtener datos de respuesta del servidor (principalmente en formato JSON o XML).

En los últimos años los servicios web REST se han establecido como el modelo predominante en la Web, desplazando a otras arquitecturas como SOAP.

JAX-RS y Jersey

JAX-RS es una API de Java para servicios web REST que forma parte de JAVA EE.
Jersey es un framework que simplifica todavía más el uso de JAX-RS extendiéndola y dándole más funcionalidades para los desarrolladores.

Creación del proyecto en Eclipse

El primer paso será crear una aplicación llamada ApiRest. En eclipse vamos al menú File > New > Dynamic Web Project. Luego sólo escribimos el nombre del proyecto como en la imagen y le damos a finalizar.

Cambiar el tipo de proyecto a Maven

MAVEN sirve para gestionar las dependencias del proyecto. Principalmente servirá para registrar las librerías externas que usa el proyecto con sus respectivas versiones. Para que eclipse trate el proyecto como un proyecto Maven, lo convertiremos. Para nos dirigimos a la ventana de Project Explorer (si no lo tenemos abierto en el menú Window > Show View > Project explorer), en la carpeta principal del proyecto le damos click al botón derecho > Configure > Convert to Maven Project. Lo dejamos tal cual está en la imagen y pulsamos finish.

Automáticamente se crea un archivo pom.xml en la raíz del proyecto que es donde manejaremos las librerías. Para este ejemplo usaremos las librerías asm.jar, jersey-bundle.jar, json.jar y jersey-server.jar. Para editar pom.xml podemos clickar encima de el con el botón derecho > Open with > Text editor y pegamos este XML:

<?xml version="1.0" encoding="UTF-8"?>

   4.0.0
   ApiRest
   ApiRest
   0.0.1-SNAPSHOT
   war
   
      src
      
         
            maven-compiler-plugin
            3.5.1
            
               1.8
               1.8
            
         
         
            maven-war-plugin
            3.0.0
            
               WebContent
            
         
      
   
   
      
         asm
         asm
         3.3.1
      
      
         com.sun.jersey
         jersey-bundle
         1.19
      
      
         org.json
         json
         20140107
      
      
         com.sun.jersey
         jersey-server
         1.19
      
      
         com.sun.jersey
         jersey-core
         1.19
      
   

Accede o Regístrate para comentar.