Expertos en Drupal

Uso del módulo restws en Drupal 7: Parte 1

El módulo RESTful Web Services nos permite convertir nuestro Drupal en un servidor web al que le podemos hacer peticiones con el protocolo REST. A modo resumen, sólo instalando el módulo ya tendremos la capacidad de hacer peticiones CRUD sobre todas las entidades y de hacer consultas complejas que nos permiten obtener listados de entidades.

Uso del módulo restws en Drupal 7: Parte 1

Peticiones habituales en Drupal

Las peticiones más habituales en orden de importancia son las siguientes:

1) Para obtener una entidad (operación "Read"):

<URL_DRUPAL>/<tipo_entidad>/<id_entidad>.<formato>

            Con esta llamada podemos obtener cualquier tipo de entidad de Drupal en el formato XML o JSON.

Ejemplos:

<URL_DRUPAL>/node/481.json

<URL_DRUPAL>/taxonomy_term/11.xml

2) Para listar entidades que cumplan ciertas condiciones:

<URL_DRUPAL>/<tipo_entidad>.<formato>?<filtro>=<valor1>&

  <meta_control>=<valor2>

            Consulta similar a una consulta MySQL a base de datos. Podemos pedir listados de entidades que cumplan las condiciones que a nosotros nos interese. Los únicos meta controles válidos actualmente son "sort" y "direction" para definir el orden y la dirección de los resultados. También podemos obtener los resultados tanto en XML comp en JSON.

Ejemplos:

<URL_DRUPAL>/node.json?type=news&field_tag=2

<URL_DRUPAL>/node.xml?type=article&sort=title&direction=ASC

3) Operaciones CRUD (Create, Read, Update, Delete)

Create: HTTP POST /<tipo_entidad> (requires HTTP Content-Type header

       set to the MIME type of <format>)

Read: HTTP GET /<tipo_entidad>/<id_entidad>.<format>

Update: HTTP PUT /<tipo_entidad>/<id_entidad>.<format>

       or      HTTP PUT /<tipo_entidad /<id_entidad> (requires HTTP

       Content-Type header set to the MIME type of the posted format)

Delete: HTTP DELETE /<tipo_entidad>/<id_entidad>

En cualquier caso, para hacer una aplicación que sólo consuma datos, con las operaciones vistas en los puntos 1 y 2 tendremos suficiente. En el próximo capítulo veremos como configurar Drupal para obtener datos remotos y como llamar a los datos desde un script PHP.

Comparte este artículo

Artículos Relacionados