Vamos a crear un API muy simple con NetBeans que se va a encargar de administrar una base de datos muy simple y no vamos a tener que escribir casi nada de código. Todo lo vamos a poder hacer con NetBeans y los frameworks que ya están instalados.
Ahora si lo primero que vamos hacer es crear un proyecto Web para crear nuestro API.
A mi proyecto le voy a poner AdminPerson y voy a usar el servidor de Apache Tomcat 8.0, después de seleccionar el servidor le damos finalizar.
Ahora vamos a crear una base de datos local con derby. Se puede hacer en MySql o cualquier otro motor relacional. En esta base de datos vamos a crear una sola tabla llamada Person. La tabla Person va a tener los siguientes atributos ID, NAME, LASTNAME, EMAIL.
Para continuar debemos dar clic derecho sobre nuestro proyecto y continuamos con el botón New
Si témenos la opción de “RESTful Web Services from Database” le damos clic a esta opción de una vez de lo contrario nos vamos al menú de otros
En este menú de otro también vamos a tener la opción de “RESTful Web Services from Database”
Muy bien el siguiente paso es configurar la base de datos
Si ya tenemos la conexión solo la seleccionamos, pero si no está lista la conexión debemos configurarla con la segunda opción del menú.
Con la conexión lista ahora debemos de seleccionar la tabla o tablas que vamos a usar para nuestro API.
Le damos siguiente al menú
Para finalizar tenemos que darle un nombre al paquete y damos clic a Next. Por último, damos clic a finalizar y ya casi estamos listos para trabajar con nuestro API.
Para que nos funcione nuestro ejemplo debemos de agregar en las librerías el drive de Derby
Para que este ejemplo funciona se debe descargar el JAR javax.ejb.jar. Este se puede descargar de la página de Maven y lo tenemos que agregar a nuestra solución.
Ahora en el constructor de mi clase PersonFacadeRest agregue estas dos líneas de código
Para que el objeto que controla mi base datos este inicializados siempre.
Después de este cambio me fui a la clase AbstractFacade.java y agregar a los métodos de create, edit y remove las siguientes líneas:
- getEntityManager().getTransaction().begin();
- getEntityManager().getTransaction().commit();
Y con esto ya estamos listos.
Por ejemplo, el método post para guardar personas funciona perfectamente y los datos quedan almacenados en la base de datos Person.