En este laboratorio aprenderás paso a paso, como crear un API Rest con Java en Netbeans, este a su vez devolverá un json como respuesta a su request.

Primero debemos crear un proyecto Maven Web Application:

Luego en el source package crearemos un paquete al cual le llamaré API, daremos click derecho en el paquete y buscaremos la siguiente opción:

Seleccionamos Simple Root Resource

En la siguiente pantalla debemos llenar lo siguientes campos según corresponda:

  • Path: nombre por el cual realizaremos la consulta a nuestro API.
  • Class Name: nombre de la clase donde programaremos nuestra función GET.
  • MIME Type: Tipo de contenido que dará como respuesta nuestro API.

Lo demás quedará igual y presionamos Finish.

Se nos crearán dos clases como las siguientes:

Tenemos un método llamado getJson dentro de la clase ApipruebaResource, a este le cambiaremos el nombre a consultaPersona y le envíaremos 4 parámetros usando la anotación @QueryParam:

Ahora crearemos un nuevo paquete llamado com.api.bean y dentro crearemos dos clases, una llamada Persona y otra llamada Telefono, las cuales tendrán lo siguiente:

Clase Persona
Clase Telefono

Por último crearemos una clase más llamada Json la cuál solamente le enviaremos el objeto persona.

Clase Json

Ahora nos devolvemos a la clase ApipruebaResource y crearemos nuestro objeto persona el cual convertiremos a json:

Antes de continuar, debemos colocar la librería de gson en nuestro archivo pom.xml para poder usar la conversión a json:

<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>1.7.1</version>
</dependency>

Luego regresamos a la clase ApipruebaResource y colocaremos el siguiente código:

De esta forma nuestro API Rest quedaría terminada, por lo que debemos compilar y probar nuestra API Rest.

Para probar nuestro API Rest lo podemos hacer de 2 maneras:

  1. Damos click derecho en la carpeta RESTful Web Services y seleccionamos Test RESTful Web Services:

Se nos abrirá la siguiente pantalla donde lo probaremos:

2. La segunda forma de probarlo es por medio de un url en un navegador, para ello deberemos enviar el siguiente url, el puerto puede variar según la configuración de su servidor web:

http://localhost:8080/APIrestJava/webresources/apiprueba?cedula=12345&nombre=Emmanuel+Guzman&telefono=88888888&operador=Movistar

De esta manera hemos logrado crear un API Restful que nos devuelva un json como respuesta, si lo vemos formateado en json queda así:

{
     "persona": {
         "cedula": "12345",
         "nombre": "Emmanuel Guzman",
         "telefono": {
             "telefono": "88888888",
             "operador": "Movistar"
         }
     }
 }

Luego de esto ya queda a nuestra creatividad la cantidad de contenedores que queramos crear en el json, sus respectivos atributos y la lógica detrás a implementar para responder el request.

20 respuestas a «Creando un API REST con Java y Netbeans, que devuelva un json en su request»

    1. Eso puede suceder por 2 razones, uno porque probablemente aún no has compilado el pom.xml y no se ha actualizado la lista de librerías, o 2 porqué no hayas colocado el import de gson en la clase donde lo vas a utilizar

    1. Depende la base de datos pero si es una base de datos Oracle puedes usar un ORDS, crear los schemas de ORDS y utilizar los paquetes para crear los privilegios y roles, desde el paquete puedes crear el client_id y el client_secret y luego puedes exponer procesos desde la base de datos para comunicarse completamente por API y usando solo json

  1. No puedo crear un proyecto Maven->Web Aplication. Me arroja un error : Cannot run program «cmd» (in directory «C:\Users\scazz\OneDrive\Documentos\NetBeansProjects»): Malformed argument has embedded quote:

  2. Hola, segui tu ejemplo… pero al tratar de acceder a la ruta de la API siempre me marca error 404, no se encuentra la ruta lo que no entiendo es el porque tengo que configurar algo en el web.xml o algo por el estilo?

    gracias y saludos

      1. mmm… pues es raro, pero si esta desplegado en el servidor tal es así que puedo acceder a la ruta del index.html con el contexto configurado en el proyecto, pero de plano no logro hacerlo trabajar, en cuanto ingreso la ruta de la api siempre me arroja error 404, no se si tenga algo que ver la versión de netbeans y servidor que estoy ocupando (apache netbeans 12 y 15), me confunde mucho porque recuerdo que alguna vez hice algo así con eclipse (otras versiones) y fue muy rápido y ahora que intento con netbeans no se porque no me deja. :'(

        1. Hola, ya descubri cual era el problema… todo tenía que ver con la jdk con la que se ejecuta el servidor de glassfish. caso raro pero si tienes varias jdk en tu sistema ten en cuenta eso. Lo pongo por si a alguien le llega a pasar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *