Acerca de las peticiones REST
Se soportan las siguientes estructuras para las peticiones REST:
URI | Resource (Input) | /? o &{filter} (Salida) |
---|---|---|
http://{servername}:{port}/rest/ | {dataClass} | $filter, $attributes, $skip, $method=...... |
{dataClass}/$entityset/{entitySetID} | $method=... | |
{dataClass}({key}) | $attributes | |
{dataClass}:{attribute}(value) |
Mientras que todas las solicitudes REST deben contener los parámetros URI y Resource, los filtros de salida (que filtran los datos devueltos) son opcionales.
Como en todos los URI, el primer parámetro está delimitado por un "?" y todos los siguientes por un "&". Por ejemplo:
GET /rest/Person/?$filter="lastName!=Jones"&$method=entityset&$timeout=600
Puede colocar todos los valores entre comillas en caso de ambigüedad. Por ejemplo, en nuestro ejemplo anterior, podríamos haber puesto el valor del apellido entre comillas simples: "lastName!='Jones'".
Los parámetros le permiten manipular los datos de las clases de datos en su proyecto 4D. Además de recuperar datos mediante los métodos HTTP GET
, también se pueden añadir, actualizar y eliminar entidades de una clase de datos utilizando los métodos HTTP POST
.
Si desea que los datos se devuelvan en un array en lugar de en JSON, utilice el parámetro $asArray
.
Estado y respuesta REST
Con cada petición REST, el servidor devuelve el estado y una respuesta (con o sin error).
Estado de la petición
Con cada solicitud REST, se obtiene el estado junto con la respuesta. A continuación se presentan algunos de los estados que pueden surgir:
Estado | Descripción |
---|---|
0 | Solicitud no procesada (el servidor podría no estar iniciado). |
200 OK | Petición procesada sin error. |
401 Unauthorized | Error de permisos (compruebe los permisos del usuario). |
402 No session | Se ha alcanzado el número máximo de sesiones. |
404 Not Found | La clase de datos no es accesible vía REST o el conjunto de entidades no existe. |
500 Internal Server Error | Error al procesar la solicitud REST. |
Respuesta
La respuesta (en formato JSON) varía en función de la petición.
Si se produce un error, se enviará junto con la respuesta del servidor o será la respuesta del servidor.