Cree un servicio RESTful en Java usando JAX-RS y Jersey (Celsius a Fahrenheit y Fahrenheit a Celsius)

Publicado: 2020-03-25
Cree un servicio RESTFul usando JAX-RS y Jersey

¿Tiene alguna de las siguientes consultas/preguntas?

  • Escriba un servicio REST de Java para convertir Fahrenheit a Celsius y Celsius a Fahrenheit
  • REST con Java (JAX-RS) usando Jersey
  • Conversión del método Fahrenheit a Celsius en Java
  • Ayuda con la tarea con conversión de grados (CtoF, FtoC)
  • API de Java para servicios web RESTful
  • servicios web – ¿Cuál es la mejor API REST de Java?
  • ¿API REST para Java?
  • Tutorial de ctof y ftoc. Ctof y ftoc Tutorial de Java
  • Cree servicios web RESTful con tecnología Java
  • Marco de API web RESTful para Java

RESTful Service : la transferencia de estado representacional (REST) ​​ha ganado una amplia aceptación en la web como una alternativa más simple a los servicios web basados ​​en SOAP y el lenguaje de descripción de servicios web (WSDL).

REST define un conjunto de principios arquitectónicos mediante los cuales puede diseñar servicios web que se centren en los recursos de un sistema, incluida la forma en que los estados de los recursos se abordan y transfieren a través de HTTP por una amplia gama de clientes escritos en diferentes idiomas. Si se mide por el número de servicios web que lo utilizan, REST ha emergido en los últimos años como un modelo predominante de diseño de servicios web. De hecho, REST ha tenido un impacto tan grande en la Web que en su mayoría ha desplazado el diseño de interfaz basado en SOAP y WSDL porque es un estilo considerablemente más simple de usar.

REPOSO vs. Tutorial SOAP.

jax-rs-hola-mundo-ejemplo-crunchify

JAX-RS:

La API de Java para servicios web RESTful (JAX-RS) es un conjunto de API para el servicio REST del desarrollador. JAX-RS es parte de Java EE6 y hace que los desarrolladores desarrollen aplicaciones web REST fácilmente.

Jersey:

Jersey es la implementación de referencia JAX-RS (JSR 311) de código abierto y calidad de producción para crear servicios web RESTful. Pero también es más que la implementación de referencia. Jersey proporciona una API para que los desarrolladores puedan ampliar Jersey para satisfacer sus necesidades.

Comencemos a construir una RESTful API simple con los siguientes pasos:

Paso 1

En Eclipse => Archivo => Nuevo => Proyecto web dinámico. Nómbrelo como " CrunchifyRESTJerseyExample ".

Crear proyecto web dinámico Crunchify Eclipse

Asegúrate de configurar:

  • Tiempo de ejecución de destino: Apache Tomcat v9.0
  • Versión del módulo web dinámico: 4.0

Paso 2

Si no ve web.xml (descriptor de implementación), siga estos pasos. O

  • Haga clic derecho en el proyecto
  • Seleccionar Java EE Tools
  • Haga clic en Generate Deployment Descriptor Stub

Esto creará un archivo web.xml en la carpeta /WebContent/WEB-INF/ .

Paso 3

Ahora convierta Project a Maven Project para que podamos agregar los archivos .jar necesarios como dependencias.

Pasos:

  • Haga clic derecho en el proyecto
  • Haga clic en Configure
  • Seleccione la opción Convert to Maven Project .
Haga clic derecho en Proyecto
Convierta cualquier proyecto a proyecto Maven

Simplemente haga clic en el Finish button sin realizar ningún cambio.

Crear archivo POM para Maven Project en Eclipse

Etapa 4

Abra el archivo pom.xml y agregue las dependencias a continuación.

  • asm.jar
  • jersey-bundle.jar
  • json.jar
  • servidor-jersey.jar
Dependencias de Maven: tutorial de Crunchify Jersey: jersey-server.pom.xml

Aquí está mi archivo pom.xml .

Paso-5

Actualice su archivo web.xml con este. Aquí está mi copia del archivo web.xml :

Paso-6

  • Ir a Java Resources
  • Haga clic en origen
  • Clic derecho -> Nuevo -> Clase
  • Paquete: com.crunchify.restjersey
  • Nombre: CtoFService

CtoFService.java

Paso-7

De la misma manera crea FtoCService.java

FtoCService.java

Paso-8

Ahora vamos a limpiar el espacio de trabajo de Eclipse y construir el proyecto.

  • Para point 3 anterior, use these screenshots de pantalla: Maven Build, instalación limpia.
  • Debería ver el mensaje de compilación exitosa.

Paso-9

Implemente el proyecto CrunchifyRESTJerseyExample en Tomcat. Aquí hay pasos detallados sobre cómo configurar Tomcat en Eclipse si aún no lo ha hecho.

  • Ir a la pestaña Servidor
  • Haga clic derecho en Servidor
  • Haga clic en Add and Remove Projects
  • Seleccione el proyecto del lado izquierdo y haga clic en Add
  • Haga clic en finalizar
Implementar CrunchifyRESTJerseyExample en Tomcat

Paso-10

  • Inicie el servidor Tomcat 9.0
Inicie el servidor Tomcat 9.0

Estructura completa del proyecto:

Crunchify REST Jersey Tutorial - Estructura completa del proyecto

Aquí están las dependencias de la ruta de compilación de Java:

REST JAX-RS Dependencias de la ruta de compilación de Jersey

Asegúrese de utilizar JDK 1.8 para este proyecto. Inicio de Java 9: ​​los módulos JAXB, JAX-WS, JAF, JTA, CORBA se eliminan y debe agregar esos módulos manualmente a su archivo Maven pom.xml.

Todo listo.


Ahora probemos su servicio web RESTful.

Prueba 1: servicio web Celsius a Fahrenheit without parámetro

Enlace: http://localhost:8080/CrunchifyRESTJerseyExample/crunchify/ctofservice/

servicio web c a f

Prueba 2: servicio web de Celsius a Fahrenheit with parámetro

servicio web c a f con parámetro

Prueba 3: servicio web Fahrenheit a Celsius without parámetro

servicio web de f a c

Prueba 4: servicio web Fahrenheit a Celsius with parámetro

servicio web f to c con parámetro

Ejemplos de clientes RESTFul:

  • Cómo crear un cliente Java RESTful usando Apache HttpClient – ​​Ejemplo
  • Cómo crear un cliente Java RESTful con Java.Net.URL – Ejemplo
  • Cómo crear un cliente Java RESTful con el cliente Jersey: ejemplo

Otro debe leer:

  • CrunchifyJSONtoHTML.js – Script convertidor de tabla JSON a HTML
  • Cómo generar sin memoria (OOM) en Java programáticamente
  • ¿Cómo ejecutar varias instancias de Tomcat en un servidor?
  • Cómo leer un objeto JSON desde un archivo en Java – Tutorial de Crunchify

¿Tiene problemas para ejecutar el código?

Algunos pasos de triaje:

Inicialmente usé la dependencia jersey-core . Pero también se agregó la dependencia jersey-server para evitar el siguiente problema.

Si obtiene el error anterior, intente agregar la dependencia maven a continuación en su archivo pom.xml