Expertos en Drupal

¿Drupal como API REST? Es posible

Actualmente la gran mayoría de aplicaciones tienen webservices para poder comunicarse con librerías ajenas o dispositivos. Una gran ventaja de usar la arquitectura API REST es que nos permite separar el backend y el frontend.

REST API Drupal
Guillem Vestit
Guillem Vestit

Febrero 24, 2020

Que significa REST?

Las siglas que forman la palabra REST provienen de Representational State Transfer, lo que significa que un servicio no tiene estado. Tiene una gran utilidad en las aplicaciones que están en la nube ya que en el servidor no tenemos que guardar nada que sea necesario para la siguiente petición que reciba.  Normalmente una petición que hagamos siguiendo esta arquitectura es que devuelva un JSON o XML para que el cliente pueda hacer su faena, según lo que reciba.

Drupal como API REST

Antaño hacer el proceso de pasar un Drupal a API REST, era más “difícil”, ya que se necesitaba instalar y activar módulos externos, es decir, instalar software ajeno a los creadores de Drupal en nuestro sitio web. Actualmente en la versión 8 y posteriores, vienen con unos módulos por defecto.

Crear una API REST con Drupal nos permite combinar varias tecnologías con Drupal, como por ejemplo: Angular o React. O bien alimentar una aplicación móvil con nuestro Drupal. 
Para hacer esta transformación, en versiones 8 o posteriores,  solamente tenemos que ir a la sección Extend que se encuentra en la barra de navegación de arriba. Una vez en la página tenemos que ir a la sección de Web Services, y activamos todos los módulos que estén en esta sección.

Seguidamente tenemos que crear una vista, así que vamos al menú de navegación de arriba y clickamos en la pestaña de Structure → Views, y en la página de crear una vista, activaremos el checkbox de Provide a REST export y añadiremos una ruta, como por ejemplo, api/itareas. Nos generará una url similar a esta http://localhost/api/tareas.

Por ejemplo si queremos ver el detalle de un elemento, pues tendremos que generar otro display del tipo Rest export, dentro de la anterior vista. Dentro de este display modificaremos el path, y le pondremos  /api/tareas/%.
Ahora que ya tenemos 2 rutas listas, el siguiente paso es configurar el acceso a nuestra API. Para configurar la autenticación tenemos que modificar un campo de la vista en el PATH SETTINGS, allí seleccionaremos el tipo de autenticación basic_auth, y el acceso sea de Role | Authenticated user. 

Ahora tenemos que ir al menú People, y en la pestaña de roles, seleccionar el rol de Authenticated user y añadirle el permiso para que pueda gestionar el tipo de contenido que contiene la vista. También tendremos que buscar Node y marcar todas las opciones del tipo de contenido en el cual nos hemos basado para crear la vista.

Con estos pasos tan simples nuestro Drupal también tendrá REST API y nos podremos alimentar de sus webservices.

¿Tienes un proyecto Drupal?

Somos expertos. Contacta con nosotros y cuéntanos tu proyecto.

Comparte este artículo

Artículos Relacionados