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.
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