¿Cómo crear y obtener información de un nodo usando REST en Drupal8?

Author Top
Luis Eduardo Telaya Escobedo

1- ¿Qué necesitamos para crear un nodo y obtener sus datos en drupal 8 usando REST ?

Para crear un nodo y obtener información en drupal 8 usando REST, necesitamos tener habilitado los siguientes módulos:

  • Restful Web Services
  • Serialization
  • Rest UI (De gran ayuda para configurar los web services desde la interfaz gráfica)

2- Editamos el servicio de "contenido"

Debemos de ir a la configuración de REST UI admin/config/services/rest y veremos que el recurso “Content” está habilitado. Le damos click en “Editar”.

drupal 8 create content rest edit

 

3- Habilitamos los servicios GET y POST

Luego verificamos que los métodos GET y POST este seleccionados asi como el formato “json” y proveedores de autenticación “cookie”. Nota: si hay un error de Fatal error: Invalid placeholder (!method) in string… Entonces marcar lo mismo para el resto de servicios, esto es probable por la versión de drupal8.

 

Drupal8 get and post

3- Habilitamos los permisos para GET y POST

Luego vamos a /admin/people/permissions y buscamos “RESTful Web Services” seleccionamos los permisions para los métodos POST, GET. En este caso le damos al usuario anónimo

 drupal 8 permissions delete patch

Nota:

En muchos solo necesitaremos el permiso para el usuario anónimo con el método GET y no los otros.



3- Probamos los métodos usando POSTMAN!

Listo! ahora nos faltaba probar! y usaremos una herramienta llamada POSTMAN de chrome

3.1- Probamos el método GET para obtener el contenido de un nodo. 

Abrimos el postman y establecemos el método GET y ponemos la url de un nodo http://local.drupal8.com/node/1?_format=json

Notese el parametro ?_format=json es importante para que nos devuelva el resultado y en Headers le ponemos:

Content-Type   application/json

y hacemos click en "Enviar"(Send) y listo! nos devuelve un json con todo el contenido del nodo 1.

Postman Drupal 8

3.2- Probamos el método POST para crear contenido. 

Abrimos, y establecemos el método POST

url: http://local.drupal8.com/entity/node

y en Headers le ponemos:

Content-Type   application/json

 

y en la pestaña “Body” seleccionamos “raw” y escribimos el siguiente json

 

{
  "type":[
      {
          "target_id":"page"
      }
  ],

  "title":[
    {
      "value": "A node has been created via POST"
    }
  ],
  "body": [
    {
      "value": "<p>fdfdasfas dfsa</p>\r\n",
      "summary": "",
      "format" : "plain_text"
    }
  ]
  
}


En el cual básicamente le estamos diciendo que el type será el tipo de contenido “page” (página básica) el título y un body!

y listo lo hemos creado!

Postman create node

Postman headers post

Espero les haya sido de su agrado! hasta la proxima!

Happy codding!

bursa esc
bursa eskort
bursa escort bayan bursa travesti escort bursa merkez escort bursaescort bursa escort bayanlar alanya eskort bayan antalya bayan eskort havalimanı transfer