Automatic API Rest: Interactúa con tu base de datos en cualquier plataforma

Descargar Automatic Api Rest Buenos días a todos, me gustaría presentaros una herramienta Open Source que he ido desarrollando en mis ratos libres los últimos meses. La herramienta en cuestión se llama Automatic API Rest y si el nombre no te dice nada permíteme explicarte de que va todo esto. Automatic API Rest nace de la necesidad de gestionar los datos entre distintas plataformas de manera sencilla. Una de las cosas que más pereza me daba a la hora de crear una base de datos es tener que crear todas las clases y funciones (Normalmente en PHP) para dar servicio externo (Android, iOS, Python,etc) a la base de datos.

¿Qué es?

Automatic API Rest es una herramienta Open Source bajo licencia Apache 2.0 que te permite crear una completa API de tu base de datos MySQL (Por ahora sólo tiene soporte para MySQL o MariaDB). Automatic API Rest proporciona una red automática de enlaces proporcionándote la información en formato JSON o XML (No implementado todavía).  Mediante un panel de control se podrá escoger qué tablas o campos quieres compartir con tus aplicaciones externamente y cuáles no.

Proyecto Open Source

Automatic Api Rest es un proyecto Open Source, todo el mundo es bienvenido a colaborar en él. Si queréis colaborar, enviarme un mail, o enviar directamente vuestros Pull Request.

Instalación

A continuación se describen los pasos a seguir para la instalación:

  • Descargar Automatic API Rest desde aquí.
  • Extraer el zip y subir todo el directorio a la raíz principal de vuestro servidor
  • Abrir el archivo config.php y rellenar todos los campos con los credenciales de la base de datos.
  • Visitar la direccion http://tudominio.com/AutomaticaApiRest

Guía de usuario

Una vez que hemos descargado he instalado Automatic Api Rest, vamos a ir a la dirección del proyecto http://tudominio.com/AutomaticaApiRest. Nos encontraremos con la siguiente pantalla:

Aquí tenemos que introducir nuestro usuario y contraseña que hemos establecido en el archivo config.php. Por defecto el usuario y contraseña es admin. Una vez que hemos entrado al panel de administración de Automatic API Rest, observamos una pantalla como esta:

Para mostrar un ejemplo, hemos apuntado a la base de datos por defecto de WordPress. Para explicar qué es cada cosa vamos a ir por bloques.

  • Home: Enlace al inicio del panel de control.
  • Documentation: Documentación del proyecto.
  • Black List: Gestión de las tablas privadas.
  • GitHub: Enlace al proyecto en GitHub
  • Close: Cierre de la sesión.

Gestión de Tablas

  • Table Name: Nombre de la tabla de la base de datos.
  • API Link: Dirección de la API donde vamos a consultar todos los datos en formato JSON de la tabla.
  • Items: Número de Items que tiene la tabla.
  • Show Table: Mostrar una tabla con los datos de la tabla seleccionada
  • Privacity: Esta casilla muestra si la tabla es pública o privada, en caso de que sea privada el enlace no funcionará.

Si pulsamos sobre cualquier tabla de la base de datos, nos dirigiremos a otra tabla con los campos de la base de datos

Gestión de campos

  • Column: Nombre del campo de la tabla seleccionada
  • API Link: Enlace que genera un JSON con toda la información del campo encapsulado.
  • Show Table: Ver una tabla con los datos del campo seleccionado.
  • Select: Consulta personalizada (Ver siguiente punto).
  • Privacity: Privacidad del campo

Consulta Personalizada

Si seleccionamos la casilla select de algún campo, nos aparecerá la siguiente tabla de configuración:

Observamos que podemos personalizar la consulta de datos, si por ejemplo sólo nos interesa el ID y el nombre de los últimos 5 registros de la tabla users generamos un enlace que exactamente nos ofrezca eso.

Black List

La Black List muestra todos las tablas y columnas que no permitimos obtener los datos. Desde esta misma tabla podemos eliminar los registros de la Black List.

Hello World en PHP

Un ejemplo de uso de Automatic API Rest en PHP es el siguiente: <?php //Get JSON from Automatic Api Rest $json = file_get_contents("API LINK"); //Decode JSON $json = json_decode($json); for($i=0;$i<count($json);$i++){ echo $json[$i]->campo; } En este ejemplo obtenemos un JSON de la API LINK que queramos. una vez obtenido el JSON lo codificamos y mostramos aquellos campos que nos interesa.

Documentación

A continucación se adjunta los talleres y charlas que se han ido haciendo sobre Automatic Api Rest, hay que tener en cuenta que la documentación del proyecto aún está pendiente. Diapositivas sobre la charla de Automatic API REST en el Droidcon Madrid 2014 Taller sobre Automatic API REST en el Android Party 2014 Material del Taller

Líneas Futuras

Los siguientes puntos son las tareas que quedan por hacer para que el proyecto este finalizado del todo.

  • Implementar salida de datos con XML
  • Crear documentación para cada plataforma.
  • Implementar una seguridad más robusta y fiable.
  • Codificar los datos de salida.
  • Dar soporte a consultas complejas, WHERE, INNER, etc.

Enlaces de Interés

Y esto es todo espero que os haya gustado el proyecto, a la vez os animo a que colaboréis con el en lo que podáis. Por último pediros que compartáis la entrada en vuestras redes sociales para darle difusión. Saludos @alex_esquiva!