Saltar al contenido principal
Versión: v18

Comencemos

4D le ofrece un servidor REST poderoso, que permite el acceso directo a los datos almacenados en sus bases de datos 4D.

El servidor REST está incluido en las aplicaciones 4D y 4D Server, está automáticamente disponible en sus bases 4D una vez configurado.

Esta sección pretende ayudar a familiarizarse con la funcionalidad de REST mediante un ejemplo sencillo. Vamos a:

  • crear y configurar una base de datos 4D simple
  • acceder a los datos de la base 4D a través de REST utilizando un navegador estándar.

Para simplificar el ejemplo, vamos a utilizar una aplicación 4D y un navegador que se ejecutan en la misma máquina. Por supuesto, también puede utilizar una arquitectura remota.

Crear y configurar la base de datos 4D

  1. Lance su aplicación 4D o 4D Server y cree una nueva base de datos. Puede llamarlo, por ejemplo, "Emp4D".

  2. En el editor de estructura, cree una tabla [Employees] y añada los siguientes campos a la misma:

  • Lastname (Alpha)
  • Firstname (Alpha)
  • Salary (Longint)

La opción "Exponer un recurso REST" está marcada por defecto para la tabla y cada campo; no cambie esta configuración.

  1. Cree los formularios y, a continuación, cree algunos empleados:

  1. Muestre la página Recursos web/REST de la caja de diálogo de las Propiedades de la base de datos y marque la opción Exponer como servidor REST.

  2. En el menú Ejecutar, seleccione Iniciar el servidor Web (si es necesario), luego seleccione Probar el servidor Web.

4D muestra la página de inicio por defecto del servidor web de 4D.

Acceso a los datos 4D con el navegador

Ahora puede leer y editar datos dentro de 4D sólo a través de peticiones REST.

Toda petición de URL 4D REST comienza por /rest, que se debe insertar después del área address:port. Por ejemplo, para ver lo que hay dentro del almacén de datos de 4D, puede escribir:

http://127.0.0.1/rest/$catalog

El servidor REST responde:

{
"__UNIQID": "96A49F7EF2ABDE44BF32059D9ABC65C1",
"dataClasses": [
{
"name": "Employees",
"uri": "/rest/$catalog/Employees",
"dataURI": "/rest/Employees"
}
]
}

Esto significa que el almacén de datos contiene la clase de datos Employees. Puede ver los atributos de la clase de datos escribiendo:

/rest/$catalog/Employees

Si desea obtener todas las entidades de la clase de datos Employee, escriba:

/rest/Employees

Respuesta:

{
"__entityModel": "Employees",
"__GlobalStamp": 0,
"__COUNT": 3,
"__FIRST": 0,
"__ENTITIES": [
{
"__KEY": "1",
"__TIMESTAMP": "2020-01-07T17:07:52.467Z",
"__STAMP": 2,
"ID": 1,
"Lastname": "Brown",
"Firstname": "Michael",
"Salary": 25000
},
{
"__KEY": "2",
"__TIMESTAMP": "2020-01-07T17:08:14.387Z",
"__STAMP": 2,
"ID": 2,
"Lastname": "Jones",
"Firstname": "Maryanne",
"Salary": 35000
},
{
"__KEY": "3",
"__TIMESTAMP": "2020-01-07T17:08:34.844Z",
"__STAMP": 2,
"ID": 3,
"Lastname": "Smithers",
"Firstname": "Jack",
"Salary": 41000
}
],
"__SENT": 3
}

Tiene muchas posibilidades para filtrar los datos a recibir. Por ejemplo, para obtener sólo el valor del atributo "Lastname" de la 2ª entidad, basta con escribir:

/rest/Employees(2)/Lastname

Respuesta:

{
"__entityModel": "Employees",
"__KEY": "2",
"__TIMESTAMP": "2020-01-07T17:08:14.387Z",
"__STAMP": 2,
"Lastname": "Jones"
}

La API REST ofrece varios comandos para interactuar con la base 4D.