Acerca de las peticiones REST
Se soportan las siguientes estructuras para las peticiones REST:
URI | Recurso | {Subresource} | {Querystring} |
---|---|---|---|
http://{servername}:{port}/rest/ | {dataClass}/ | {attribute1, attribute2, ...}/ | |
{dataClass}/ | {attribute1, attribute2, ...}/ | {method} | |
$entityset/{entitySetID} | |||
?$filter | |||
{attribute}/ | ?$compute | ||
{dataClass}({key})/ | {attribute1, attribute2, ...}/ | ||
{dataClass}:{attribute}(value) | |||
$catalog | |||
$directory | |||
$info |
Mientras que todas las solicitudes REST deben contener los parámetros URI y Resource, el subresource (que filtra los datos devueltos) es opcional.
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.