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
-
Lance su aplicación 4D o 4D Server y cree una nueva base de datos. Puede llamarlo, por ejemplo, "Emp4D".
-
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.
- Cree los formularios y, a continuación, cree algunos empleados:
-
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.
-
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.